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 相关文章推荐
Python中的fileinput模块的简单实用示例
Jul 09 Python
浅谈Python的Django框架中的缓存控制
Jul 24 Python
使用Python绘制图表大全总结
Feb 11 Python
Python排序搜索基本算法之堆排序实例详解
Dec 08 Python
Python Flask基础教程示例代码
Feb 07 Python
python实现关键词提取的示例讲解
Apr 28 Python
Python 判断奇数偶数的方法
Dec 20 Python
Python日期时间Time模块实例详解
Apr 15 Python
Python 给屏幕打印信息加上颜色的实现方法
Apr 24 Python
如何在Python 游戏中模拟引力
Mar 27 Python
python matplotlib实现将图例放在图外
Apr 17 Python
Python+kivy BoxLayout布局示例代码详解
Dec 28 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
PHP+jQuery 注册模块的改进(一):验证码存入SESSION
2014/10/14 PHP
四种php中webservice实现的简单架构方法及实例
2015/02/03 PHP
php微信公众平台交互与接口详解
2016/11/28 PHP
Yii框架通过请求组件处理get,post请求的方法分析
2019/09/03 PHP
关于JS控制代码暂停的实现方法分享
2012/10/11 Javascript
javascript实现文本域写入字符时限定字数
2014/02/12 Javascript
JS执行删除前的判断代码
2014/02/18 Javascript
js中document.write使用过程中的一点疑问解答
2014/03/20 Javascript
自写的jQuery异步加载数据添加事件
2014/05/15 Javascript
jQuery控制cookie过期时间的方法
2015/04/07 Javascript
jQuery寻找n以内完全数的方法
2015/06/24 Javascript
Jquery实现弹性滑块滑动选择数值插件
2015/08/08 Javascript
JS+Canvas 实现下雨下雪效果
2016/05/18 Javascript
浅谈JavaScript中面向对象的的深拷贝和浅拷贝
2016/08/01 Javascript
Vue项目中quill-editor带样式编辑器的使用方法
2017/08/08 Javascript
详解使用Vue Router导航钩子与Vuex来实现后退状态保存
2017/09/11 Javascript
VUE长按事件需求详解
2017/10/18 Javascript
webpack配置之后端渲染详解
2017/10/26 Javascript
Three.js 再探 - 写一个微信跳一跳极简版游戏
2018/01/04 Javascript
《javascript少儿编程》location术语总结
2018/05/27 Javascript
微信小程序实现星星评价效果
2018/11/02 Javascript
详解ES6 Promise的生命周期和创建
2019/08/18 Javascript
React传值 组件传值 之间的关系详解
2019/08/26 Javascript
解决Vue动态加载本地图片问题
2019/10/09 Javascript
python继承和抽象类的实现方法
2015/01/14 Python
在Python中使用正则表达式的方法
2015/08/13 Python
pycharm配置git(图文教程)
2019/08/16 Python
html5 拖拽及用 js 实现拖拽功能的示例代码
2020/10/23 HTML / CSS
Fossil美国官网:Fossil手表、手袋、珠宝及配件
2017/02/01 全球购物
德国童装购物网站:NICKI´S.com
2018/04/20 全球购物
建筑设计学生的自我评价
2014/01/16 职场文书
计算机学生的自我评价分享
2014/02/18 职场文书
党员岗位承诺口号大全
2014/03/28 职场文书
国际经济与贸易专业求职信
2014/07/10 职场文书
考生诚信考试承诺书(2016版)
2016/03/25 职场文书
python opencv常用图形绘制方法(线段、矩形、圆形、椭圆、文本)
2021/04/12 Python