您的位置:首页 > 编程语言 > Python开发

Python学习笔记(2)—搜索路径

2016-07-17 17:23 387 查看
     wxPython是python 的GUI框架之一,目前来看还是比较好用,windows上可以直接访问https://www.wxpython.org/下载对应的wxpython版本,安装完成后在python中直接使用import wx语句调用模块即可,但是在mac上安装就比较麻烦,往往会提示安装失败(读者可自己尝试一下:)),具体原因尚不清楚,而如果使用homebrew来安装wxpython,系统自带的python也不能立即调用,会提示找不到wx模块,比较简单的方法是使用brew再下载一次python,这样就自动将wxpython放在brew下载的python搜索路径下面了。虽然这样能解决问题,但是为了更好的理解python,还是得就这个问题稍微深入地了解一下python的模块之间是如何工作。
     提到python模块,首先就要说下import。传统的C程序员如果对python没有了解的话,会认为import和#include是一样的,但其实不应该这么比较,因为python中导入并非只是把一个文件文本插入另一个文件中,导入其实是运行时计算,程序第一次导入指定文件时,会执行三个步骤:
     1、找到模块文件
     2、编译成位码
     3、执行模块代码,形成需要的对象
     这三个步骤只会在第一次导入时才会进行,在这之后,导入相同模块时会跳出这三个步骤,而只会从内存中加载相应的模块对象,下面主要对步骤一进行分析。
     import一个模块后,python会从以下几个路径中进行搜索:
     1、程序的主目录
     2、PYTHONPATH目录
     3、标准链接库目录
     4、任何.pth文件的内容
     而这四个地址组合起来就变成了sys.path,当发现import模块提示找不到时,就要通过sys.path查看目前python搜索路径下是否包含该模块。
     好了,那现在python无法找到wx库的解决方法就呼之欲出了,一个是添加wx路径到PYTHONPATH目录中,或者新建*.pth文件,将路径放入其中。
     第一种方法,在linux中可以命令:export PYTHONPATH=$PYTHONPATH:要添加的路径  来实现
     第二种方法,可以在python搜索路径下的任意文件夹中,添加一个*.pth文件,将wx路径添加其中
     这两种方法任选其一后,接下来的问题就是路径该怎么添加,或者说添加怎样的路径。这里还是以wxpython为例子:
     1、首先通过brew install wxpython下载相关组件
     2、下载完成后,通过brew info wxpython查看下载位置,笔者的下载位置如下:



     3、进入该目录,找到lib目录下的wx文件,笔者电脑中位置如下:

     


     4、将该路径保存在python的搜索路径下即可。

     


     通过以上步骤,即可将wxpython放入python的搜索路径中了。通过以上步骤我们大概可知道两点:
     1、大部分需要包含模块的文件位置,都在site-packages文件夹下面(读者可自行使用sys.path命令来看当前python搜索路径,大部分路径都包涵该文件夹)
     2、路径其实是需要包涵的模块的路径 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python