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之集合的关系
Sep 24 Python
python服务器端收发请求的实现代码
Sep 29 Python
Python函数返回值实例分析
Jun 08 Python
Python for Informatics 第11章 正则表达式(一)
Apr 21 Python
python 3.3 下载固定链接文件并保存的方法
Dec 18 Python
Python3环境安装Scrapy爬虫框架过程及常见错误
Jul 12 Python
python调用支付宝支付接口流程
Aug 15 Python
Python socket处理client连接过程解析
Mar 18 Python
Django Session和Cookie分别实现记住用户登录状态操作
Jul 02 Python
Python 如何对文件目录操作
Jul 10 Python
Python爬虫开发与项目实战
Dec 16 Python
Python+Xlwings 删除Excel的行和列
Dec 19 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 Ubb代码编辑器函数代码
2012/07/05 PHP
深入PHP变量存储的详解
2013/06/13 PHP
php上传图片并压缩的实现方法
2015/12/22 PHP
CodeIgniter视图使用注意事项
2016/01/20 PHP
php+ajax登录跳转登录实现思路
2016/07/31 PHP
yii2.0数据库迁移教程【多个数据库同时同步数据】
2016/10/08 PHP
laravel中的fillable和guarded属性详解
2019/10/23 PHP
Javascript 文件夹选择框的两种解决方案
2009/07/01 Javascript
JavaScript获取图片的原始尺寸以宽度为例
2014/05/04 Javascript
JavaScript代码实现禁止右键、禁选择、禁粘贴、禁shift、禁ctrl、禁alt
2015/11/17 Javascript
jQuery实现点击按钮文字变成input框点击保存变成文字
2016/05/09 Javascript
js浏览器html5表单验证
2016/10/17 Javascript
jquery点击展示与隐藏更多内容
2016/12/03 Javascript
js获取指定时间的前几秒
2017/04/05 Javascript
JavaScript实现自动跳转文本功能
2017/05/25 Javascript
基于AngularJS的拖拽文件上传的实例代码
2017/07/15 Javascript
VueJS组件之间通过props交互及验证的方式
2017/09/04 Javascript
JavaScript实现换肤功能
2017/09/15 Javascript
微信小程序开发实现的IP地址查询功能示例
2019/03/28 Javascript
微信小程序中转义字符的处理方法
2019/03/28 Javascript
使用Vue.set()方法实现响应式修改数组数据步骤
2019/11/09 Javascript
vue中可编辑树状表格的实现代码
2020/10/31 Javascript
[05:26]TI10典藏宝瓶套装外观展示
2020/07/03 DOTA
编写Python脚本使得web页面上的代码高亮显示
2015/04/24 Python
python3编码问题汇总
2016/09/06 Python
Python实现的rsa加密算法详解
2018/01/24 Python
详解解决Python memory error的问题(四种解决方案)
2019/08/08 Python
PyQT5 emit 和 connect的用法详解
2019/12/13 Python
python操作cfg配置文件方式
2019/12/22 Python
调整Jupyter notebook的启动目录操作
2020/04/10 Python
python3爬虫中引用Queue的实例讲解
2020/11/24 Python
党的群众路线教育实践活动对照检查材料思想汇报
2014/09/19 职场文书
2014幼儿园班主任工作总结
2014/12/04 职场文书
班主任2015新年寄语
2014/12/08 职场文书
介绍信格式
2015/01/30 职场文书
节约用电通知
2015/04/25 职场文书