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单向链表的实现
Dec 24 Python
Python注释详解
Jun 01 Python
python django事务transaction源码分析详解
Mar 17 Python
Sanic框架请求与响应实例分析
Jul 16 Python
Pandas:Series和DataFrame删除指定轴上数据的方法
Nov 10 Python
python消费kafka数据批量插入到es的方法
Dec 27 Python
Python+Selenium使用Page Object实现页面自动化测试
Jul 14 Python
Python Django切换MySQL数据库实例详解
Jul 16 Python
Python 处理文件的几种方式
Aug 23 Python
python BlockingScheduler定时任务及其他方式的实现
Sep 19 Python
python实现文件批量编码转换及注意事项
Oct 14 Python
Python实现字符串中某个字母的替代功能
Oct 21 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
定制404错误页面,并发信给管理员的程序
2006/10/09 PHP
source.php查看源文件
2006/12/09 PHP
PHP中实现汉字转区位码应用源码实例解析
2010/06/14 PHP
浅析PHP关键词替换的类(避免重复替换,保留与还原原始链接)
2015/09/22 PHP
PHP基于cookie与session统计网站访问量并输出显示的方法
2016/01/15 PHP
利用XMLHTTP传递参数在另一页面执行并刷新本页
2006/10/26 Javascript
探索Emberjs制作一个简单的Todo应用
2012/11/07 Javascript
JavaScript中“+”的陷阱深刻理解
2012/12/04 Javascript
jquery.cookie.js使用指南
2015/01/05 Javascript
JavaScript设置body高度为浏览器高度的方法
2015/02/09 Javascript
jquery动感漂浮导航菜单代码分享
2020/04/15 Javascript
JavaScript驾驭网页-获取网页元素
2016/03/24 Javascript
Zabbix添加Node.js监控的方法
2016/10/20 Javascript
bootstrap导航条实现代码
2016/12/28 Javascript
JavaScript实现简单评论功能
2017/08/17 Javascript
javascript填充默认头像方法
2018/02/22 Javascript
图文讲解vue的v-if使用方法
2019/02/11 Javascript
js实现简单掷骰子效果
2019/10/24 Javascript
vue跳转同一个组件,参数不同,页面接收值只接收一次的解决方法
2019/11/05 Javascript
JS实现随机抽选获奖者
2019/11/07 Javascript
vue父子组件间引用之$parent、$children
2020/05/20 Javascript
[53:43]VP vs NewBee Supermajor 胜者组 BO3 第三场 6.5
2018/06/06 DOTA
[01:11:35]Liquid vs LGD 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
关于pip的安装,更新,卸载模块以及使用方法(详解)
2017/05/19 Python
Python下简易的单例模式详解
2019/04/08 Python
python使用Pandas库提升项目的运行速度过程详解
2019/07/12 Python
Python @property装饰器原理解析
2020/01/22 Python
程序集与命名空间有什么不同
2014/07/25 面试题
小学生开学感言
2014/02/28 职场文书
青年文明号服务承诺
2014/03/31 职场文书
大学三年计划书范文
2014/04/30 职场文书
安全生产月演讲稿
2014/05/09 职场文书
2015年度工程师评职称工作总结
2015/10/14 职场文书
2015年大学组织委员个人工作总结
2015/10/23 职场文书
Python实现列表拼接和去重的三种方式
2021/07/02 Python
windows11怎么查看wifi密码? win11查看wifi密码的技巧
2021/11/21 数码科技