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进阶教程之循环对象
Aug 30 Python
python删除特定文件的方法
Jul 30 Python
合并百度影音的离线数据( with python 2.3)
Aug 04 Python
使用python实现链表操作
Jan 26 Python
Python使用win32 COM实现Excel的写入与保存功能示例
May 03 Python
python导入pandas具体步骤方法
Jun 23 Python
深入了解Python枚举类型的相关知识
Jul 09 Python
python在OpenCV里实现投影变换效果
Aug 30 Python
dpn网络的pytorch实现方式
Jan 14 Python
双向RNN:bidirectional_dynamic_rnn()函数的使用详解
Jan 20 Python
Python打印不合法的文件名
Jul 31 Python
scrapy结合selenium解析动态页面的实现
Sep 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实现图片以base64显示的方法
2016/10/13 PHP
laravel 5.4中实现无限级分类的方法示例
2017/07/27 PHP
CI(CodeIgniter)框架中URL特殊字符处理与SQL注入隐患分析
2019/02/28 PHP
在phpstudy集成环境下的nginx服务器下配置url重写
2019/12/02 PHP
jQuery对象与DOM对象之间的转换方法
2010/04/15 Javascript
jquery indexOf使用方法
2013/08/19 Javascript
javascript单引号和双引号的区别和处理
2014/05/14 Javascript
clipboard.js无需Flash无需依赖任何JS库实现文本复制与剪切
2015/10/10 Javascript
Bootstrap Table使用方法详解
2016/08/01 Javascript
bootstrap选项卡使用方法解析
2017/01/11 Javascript
jQuery 全选 全不选 事件绑定的实现代码
2017/01/23 Javascript
jQuery is not defined 错误原因与解决方法小结
2017/03/19 Javascript
JavaScript中offsetWidth的bug及解决方法
2017/05/17 Javascript
使用prop解决一个checkbox选中后再次选中失效的问题
2017/07/05 Javascript
JavaScript闭包和回调详解
2017/08/09 Javascript
React-Router如何进行页面权限管理的方法
2017/12/06 Javascript
React 组件间的通信示例
2018/06/14 Javascript
Angular5中提取公共组件之radio list的实例代码
2018/07/10 Javascript
Bootstrap模态对话框中显示动态内容的方法
2018/08/10 Javascript
[54:17]DOTA2-DPC中国联赛定级赛 RNG vs iG BO3第二场 1月10日
2021/03/11 DOTA
详解Python的Django框架中的模版继承
2015/07/16 Python
scrapy爬虫完整实例
2018/01/25 Python
Python3导入自定义模块的三种方法详解
2018/04/13 Python
Django objects的查询结果转化为json的三种方式的方法
2018/11/07 Python
网易2016研发工程师编程题 奖学金(python)
2019/06/19 Python
django ModelForm修改显示缩略图 imagefield类型的实例
2019/07/28 Python
Windows下实现将Pascal VOC转化为TFRecords
2020/02/17 Python
新手入门学习python Numpy基础操作
2020/03/02 Python
jupyter notebook中美观显示矩阵实例
2020/04/17 Python
Python调用OpenCV实现图像平滑代码实例
2020/06/19 Python
基于Python正确读取资源文件
2020/09/14 Python
我们是伦敦女孩:WalG
2018/01/08 全球购物
LivingSocial英国:英国本地优惠
2019/02/22 全球购物
新闻报道稿范文
2015/07/23 职场文书
中学语文教学反思
2016/02/16 职场文书
Redis集群节点通信过程/原理流程分析
2022/03/18 Redis