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创建xml的方法
Mar 10 Python
pygame 精灵的行走及二段跳的实现方法(必看篇)
Jul 10 Python
python3+PyQt5重新实现自定义数据拖放处理
Apr 19 Python
小白入门篇使用Python搭建点击率预估模型
Oct 12 Python
Appium Python自动化测试之环境搭建的步骤
Jan 23 Python
Python实现爬取亚马逊数据并打印出Excel文件操作示例
May 16 Python
详解python中的数据类型和控制流
Aug 08 Python
对python中的*args与**kwgs的含义与作用详解
Aug 28 Python
python读取raw binary图片并提取统计信息的实例
Jan 09 Python
Python 实现自动完成A4标签排版打印功能
Apr 09 Python
Python基于Tkinter编写crc校验工具
May 06 Python
Python time库的时间时钟处理
May 02 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实现mysql事务处理的方法
2014/12/25 PHP
详解PHP中的状态模式编程
2015/08/11 PHP
工作需要写的一个js拖拽组件
2011/07/28 Javascript
jQuery右键菜单contextMenu使用实例
2011/09/28 Javascript
ASP.NET MVC中EasyUI的datagrid跨域调用实现代码
2012/03/14 Javascript
[JSF]使用DataModel处理表行事件的实例代码
2013/08/05 Javascript
javascript 弹出的窗口返回值给父窗口具体实现
2013/11/23 Javascript
jQuery实现鼠标单击网页文字后在文本框显示的方法
2015/05/06 Javascript
使用CDN和AJAX加速WordPress中jQuery的加载
2015/12/05 Javascript
复杂的javascript窗口分帧解析
2016/02/19 Javascript
通用无限极下拉菜单的实现代码
2016/05/31 Javascript
jQuery文字横向滚动效果的实现代码
2016/05/31 Javascript
vue引入jq插件的实例讲解
2017/09/12 Javascript
小程序图片长按识别功能的实现方法
2018/08/30 Javascript
vue中监听返回键问题
2019/08/28 Javascript
js利用递归与promise 按顺序请求数据的方法
2019/08/30 Javascript
JavaScript实现秒杀时钟倒计时
2019/09/29 Javascript
解决ant design vue 表格a-table二次封装,slots渲染的问题
2020/10/28 Javascript
vue 中的动态传参和query传参操作
2020/11/09 Javascript
TensorFlow实现卷积神经网络CNN
2018/03/09 Python
python数字图像处理之骨架提取与分水岭算法
2018/04/27 Python
python使用xlsxwriter实现有向无环图到Excel的转换
2018/12/12 Python
Python编程深度学习绘图库之matplotlib
2018/12/28 Python
详解10个可以快速用Python进行数据分析的小技巧
2019/06/24 Python
python实现kNN算法识别手写体数字的示例代码
2019/08/16 Python
python安装gdal的两种方法
2019/10/29 Python
Python scrapy增量爬取实例及实现过程解析
2019/12/24 Python
BeautifulSoup中find和find_all的使用详解
2020/12/07 Python
Python爬虫实现selenium处理iframe作用域问题
2021/01/27 Python
美国女士泳装店:Swimsuits For All
2017/03/02 全球购物
通信工程专业女生个人求职信
2013/09/21 职场文书
影视后期实训报告
2014/11/05 职场文书
有限责任公司股东合作协议书
2014/12/02 职场文书
关于成立领导小组的通知
2015/04/23 职场文书
论文评审意见
2015/06/05 职场文书
pytorch 两个GPU同时训练的解决方案
2021/06/01 Python