python的模块搜索路径 pythonPath
linux-dash
A beautiful web dashboard for Linux
项目地址:https://gitcode.com/gh_mirrors/li/linux-dash
免费下载资源
·
Python中的PYTHONPATH环境变量
PYTHONPATH是Python中一个重要的环境变量,用于在导入模块的时候搜索路径.可以通过如下方式访问:
>>> import sys
>>> sys.path
['', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PILcompat',
'/usr/lib/python2.7/dist-packages/gtk-2.0', '/usr/lib/pymodules/python2.7',
'/usr/lib/python2.7/dist-packages/ubuntu-sso-client']
- 可以看到,路径列表的第一个元素为空字符串,代表的是相对路径下的当前目录.
- 由于在导入模块的时候,解释器会按照列表的顺序搜索,直到找到第一个模块,所以优先导入的模块为同一目录下的模块.
Python搜索模块的路径
- 程序的主目录
- PTYHONPATH目录
- 标准连接库目录(一般在/usr/local/lib/python2.X/)
- 任何的.pth文件的内容(如果存在的话).新功能,允许用户把有效果的目录添加到模块搜索路径中去 .pth后缀的文本文件中一行一行的地列出目录。
这四个组建组合起来就变成了sys.path了
修改PYTHONPATH
导入模块时搜索路径的顺序也可以改变.这里分两种情况:
- 通过sys.path.append(),sys.path.insert()等方法来改变,这种方法当重新启动解释器的时候,原来的设置会失效.
- 改变PYTHONPATH,这种设置方法永久有效:
在这种情况下,可以通过在sys.path列表显示的路径中添加.pth文件来实现
1,临时添加
import sys
sys.path
sys.path.append(path)
2,使用pth文件永久添加
使用pth文件,在 site-packages 文件中创建 .pth文件,将模块的路径写进去,一行一个路径, 以下是一个示例,pth文件也可以使用注释:
# .pth file for the my project(这行是注释)
E:\DjangoWord
E:\DjangoWord\mysite
E:\DjangoWord\mysite\polls
这个不失为一个好的方法,但存在管理上的问题,而且不能在不同的python版本中共享
3,使用PYTHONPATH环境变量
使用PYTHONPATH环境变量,在这个环境变量中输入相关的路径,不同的路径之间用逗号(英文的!)分开,如果PYTHONPATH 变量还不存在,可以创建它! 路径会自动加入到sys.path中,而且可以在不同的python版本中共享,应该是一样较为方便的方法
GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e
added ecosystem file for PM2 4 年前
5def40a3
Add host customization support for the NodeJS version 4 年前
更多推荐
已为社区贡献2条内容
所有评论(0)