Python sys.path详细介绍


Posted in Python onOctober 17, 2013

如何将路径“永久"添加到sys.path?

sys.path是python的搜索模块的路径集,是一个list

['', 'C:\\WINDOWS\\system32\\python26.zip', 'C:\\Python26\\DLLs', 'C:\\Python26\ \lib', 'C:\\Python26\\lib\\plat-win', 'C:\\Python26\\lib\\lib-tk', 'C:\\Python26 ', 'C:\\Python26\\lib\\site-packages', 'C:\\Python26\\lib\\site-packages\\win32' , 'C:\\Python26\\lib\\site-packages\\win32\\lib', 'C:\\Python26\\lib\\site-packa ges\\Pythonwin']

可以在python 环境下使用sys.path.append(path)添加相关的路径,但在退出python环境后自己添加的路径就会自动消失!

在python脚本中修改

import sys
sys.path.append('c:\\mypythonlib')

为解决这个问题,可以有以下方法:

1. 将自己做的py文件放到 site_packages 目录下:

下面命令显示了 site-packages 目录:

python -c "from distutils.sysconfig import get_python_lib; print get_python_lib() "

但是这样做会导致一个问题,即各类模块都放到此文件夹的话,会导致乱的问题,这一点是显而易见的。

注意,也不创建子文件夹,再将自己的模块放到子文件夹解决问题,这会导致使用import 语句时错误。

2. 使用pth文件,在 site-packages 文件中创建 .pth文件,将模块的路径写进去,一行一个路径,以下是一个示例,pth文件也可以使用注释:

# .pth file for the my project(这行是注释)
E:\DjangoWord
E:\DjangoWord\mysite
E:\DjangoWord\mysite\polls

这个不失为一个好的方法,但存在管理上的问题,而且不能在不同的python版本中共享。

 

3. 使用PYTHONPATH环境变量,在这个环境变量中输入相关的路径,不同的路径之间用逗号(英文的!)分开,如果PYTHONPATH 变量还不存在,可以创建它!

路径会自动加入到sys.path中,而且可以在不同的python版本中共享,应该是一样较为方便的方法。

关于与python相关的环境变量有那些,请参考:

http://docs.python.org/using/cmdline.html

在页面上找到PYTHONPATH

Python 相关文章推荐
CentOS 7下安装Python 3.5并与Python2.7兼容并存详解
Jul 07 Python
对pandas中时间窗函数rolling的使用详解
Nov 28 Python
在pycharm下设置自己的个性模版方法
Jul 15 Python
python通过txt文件批量安装依赖包的实现步骤
Aug 13 Python
python读取指定字节长度的文本方法
Aug 27 Python
不到20行实现Python代码即可制作精美证件照
Apr 24 Python
python框架flask入门之路由及简单实现方法
Jun 07 Python
python中常见错误及解决方法
Jun 21 Python
Django模型验证器介绍与源码分析
Sep 08 Python
Alpine安装Python3依赖出现的问题及解决方法
Dec 25 Python
Pytest中conftest.py的用法
Jun 27 Python
Python循环之while无限迭代
Apr 30 Python
python开发的小球完全弹性碰撞游戏代码
Oct 15 #Python
python中 ? : 三元表达式的使用介绍
Oct 09 #Python
Python 文件和输入输出小结
Oct 09 #Python
Python 错误和异常小结
Oct 09 #Python
Python 命令行非阻塞输入的小例子
Sep 27 #Python
用Python脚本生成Android SALT扰码的方法
Sep 18 #Python
python pickle 和 shelve模块的用法
Sep 16 #Python
You might like
利用递归把多维数组转为一维数组的函数
2006/10/09 PHP
两种设置php载入页面时编码的方法
2014/07/29 PHP
PHP实现XML与数据格式进行转换类实例
2015/07/29 PHP
php简单的上传类分享
2016/05/15 PHP
javascript编程起步(第四课)
2007/02/27 Javascript
jquery 插件学习(二)
2012/08/06 Javascript
文本框中禁止非数字字符输入比如手机号码、邮编
2013/08/19 Javascript
JQuery筛选器全系列介绍
2013/08/27 Javascript
javascript事件冒泡和事件捕获详解
2015/05/26 Javascript
react-native fetch的具体使用方法
2017/11/01 Javascript
详解JavaScript基础知识(JSON、Function对象、原型、引用类型)
2018/01/16 Javascript
JavaScript图片处理与合成总结
2018/03/04 Javascript
如何从零开始利用js手写一个Promise库详解
2018/04/19 Javascript
使用vuex缓存数据并优化自己的vuex-cache
2018/05/30 Javascript
详解vue中axios请求的封装
2019/04/08 Javascript
基于vue-cli搭建多模块且各模块独立打包的项目
2019/06/12 Javascript
axios如何利用promise无痛刷新token的实现方法
2019/08/27 Javascript
Python中使用摄像头实现简单的延时摄影技术
2015/03/27 Python
详解Python的Django框架中的模版相关知识
2015/07/15 Python
Python的Django框架中的Context使用
2015/07/15 Python
Python用sndhdr模块识别音频格式详解
2018/01/11 Python
Python3导入自定义模块的三种方法详解
2018/04/13 Python
解决pandas 作图无法显示中文的问题
2018/05/24 Python
对numpy数据写入文件的方法讲解
2018/07/09 Python
教师评优事迹材料
2014/01/10 职场文书
读书活动总结
2014/04/28 职场文书
秋天的图画教学反思
2014/05/01 职场文书
商场消防安全责任书
2014/07/29 职场文书
圣诞节开幕词
2015/01/29 职场文书
2015年七七事变78周年纪念活动方案
2015/05/06 职场文书
2016年中秋节晚会领导致辞
2015/11/26 职场文书
煤矿施工安全协议书
2016/03/22 职场文书
2016年小学中秋节活动总结
2016/04/05 职场文书
JavaScript中的宏任务和微任务详情
2021/11/27 Javascript
详解Python中*args和**kwargs的使用
2022/04/07 Python
教你在 Java 中实现 Dijkstra 最短路算法的方法
2022/04/08 Java/Android