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 相关文章推荐
Linux下编译安装MySQL-Python教程
Feb 02 Python
python实现爬虫统计学校BBS男女比例之多线程爬虫(二)
Dec 31 Python
Flask框架中密码的加盐哈希加密和验证功能的用法详解
Jun 07 Python
Python排序搜索基本算法之堆排序实例详解
Dec 08 Python
python2 与python3的print区别小结
Jan 16 Python
Python动刷新抢12306火车票的代码(附源码)
Jan 24 Python
pycharm恢复默认设置或者是替换pycharm的解释器实例
Oct 29 Python
在Python中分别打印列表中的每一个元素方法
Nov 07 Python
python游戏开发之视频转彩色字符动画
Apr 26 Python
django 微信网页授权登陆的实现
Jul 30 Python
Python实现滑雪小游戏
Sep 25 Python
Pandas搭配lambda组合使用详解
Jan 22 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
mysql 的 like 问题,超强毕杀记!!!
2007/01/18 PHP
PHP积分兑换接口实例
2015/02/09 PHP
php插入mysql数据返回id的方法
2018/05/31 PHP
JavaScript中将一个值转换为字符串的方法分析[译]
2012/09/21 Javascript
jQuery实现点击文本框弹出热门标签的提示效果
2013/11/17 Javascript
window.location.href的用法(动态输出跳转)
2014/08/09 Javascript
NodeJS Web应用监听sock文件实例
2015/02/18 NodeJs
js中setTimeout()与clearTimeout()用法实例浅析
2015/05/12 Javascript
JavaScript iframe数据共享接口实现方法
2016/01/06 Javascript
JS加载iFrame出现空白问题的解决办法
2016/05/13 Javascript
js重写方法的简单实现
2016/07/10 Javascript
JQuery控制DIV的选取实现方法
2016/09/18 Javascript
JavaScript实现兼容IE6的收起折叠与展开效果实例
2017/09/20 Javascript
angular之ng-template模板加载
2017/11/09 Javascript
通过nodejs 服务器读取HTML文件渲染到页面的方法
2018/05/17 NodeJs
如何在Vue中使用CleaveJS格式化你的输入内容
2018/12/14 Javascript
优雅地使用loading(推荐)
2019/04/20 Javascript
vue2.0 获取从http接口中获取数据,组件开发,路由配置方式
2019/11/04 Javascript
js实现数字跳动到指定数字
2020/08/25 Javascript
JS+CSS实现炫酷光感效果
2020/09/05 Javascript
vue监听滚动事件的方法
2020/12/21 Vue.js
[10:05]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD 选手采访
2021/03/11 DOTA
Python中还原JavaScript的escape函数编码后字符串的方法
2014/08/22 Python
python编程开发之类型转换convert实例分析
2015/11/13 Python
详解Swift中属性的声明与作用
2016/06/30 Python
基于pip install django失败时的解决方法
2018/06/12 Python
python实现基于信息增益的决策树归纳
2018/12/18 Python
windows下搭建python scrapy爬虫框架步骤
2018/12/23 Python
Django中使用CORS实现跨域请求过程解析
2019/08/05 Python
利用Tensorboard绘制网络识别准确率和loss曲线实例
2020/02/15 Python
Python中的sys.stdout.write实现打印刷新功能
2020/02/21 Python
如何实现jdbc性能优化
2012/07/30 面试题
语文教研活动总结
2014/07/02 职场文书
大学生职业生涯规划大赛作品(精品)
2014/09/17 职场文书
社会实践活动总结格式
2015/05/11 职场文书
基于go interface{}==nil 的几种坑及原理分析
2021/04/24 Golang