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局部赋值的规则
Mar 07 Python
Python pass 语句使用示例
Mar 11 Python
Python编程之多态用法实例详解
May 19 Python
Python函数式编程指南(一):函数式编程概述
Jun 24 Python
python冒泡排序简单实现方法
Jul 09 Python
Django模板变量如何传递给外部js调用的方法小结
Jul 24 Python
Python自定义线程类简单示例
Mar 23 Python
python字符串循环左移
Mar 08 Python
安装好Pycharm后如何配置Python解释器简易教程
Jun 28 Python
Opencv图像处理:如何判断图片里某个颜色值占的比例
Jun 03 Python
python爬虫用scrapy获取影片的实例分析
Nov 23 Python
分享Python异步爬取知乎热榜
Apr 12 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中DOMElement操作xml文档实例演示
2013/03/26 PHP
php 伪造ip以及url来路信息方法汇总
2014/11/25 PHP
Laravel框架模型的创建及模型对数据操作示例
2019/05/07 PHP
php写入文件不覆盖的实例讲解
2019/09/17 PHP
javascript 利用Image对象实现的埋点(某处的点击数)统计
2012/12/28 Javascript
javascript用户注册提示效果的简单实例
2013/08/17 Javascript
JavaScript显示当然日期和时间即年月日星期和时间
2013/10/29 Javascript
原生JavaScript实现连连看游戏(附源码)
2013/11/05 Javascript
详解AngularJS中的http拦截
2016/02/09 Javascript
JS实现快速的导航下拉菜单动画效果附源码下载
2016/11/01 Javascript
创建一般js对象的几种方式
2017/01/19 Javascript
vue计算属性及使用详解
2018/04/02 Javascript
js+SVG实现动态时钟效果
2018/07/14 Javascript
angularJs在多个控制器中共享服务数据的方法
2018/09/30 Javascript
记录vue做微信自定义分享的一些问题
2019/09/12 Javascript
JS document form表单元素操作完整示例
2020/01/13 Javascript
Vue 中使用 typescript的方法详解
2020/02/17 Javascript
JS可断点续传文件上传实现代码解析
2020/07/30 Javascript
JavaScript arguments.callee作用及替换方案详解
2020/09/02 Javascript
在js文件中引入(调用)另一个js文件的三种方法
2020/09/11 Javascript
vue3.0自定义指令(drectives)知识点总结
2020/12/27 Vue.js
[56:41]iG vs Winstrike 2018国际邀请赛小组赛BO2 第二场
2018/08/17 DOTA
python实现逻辑回归的方法示例
2017/05/02 Python
python读取excel表格生成erlang数据
2017/08/26 Python
python自动发送邮件脚本
2018/06/20 Python
中国电视购物:快乐购
2017/02/04 全球购物
亚马逊印度站:Amazon.in
2017/10/15 全球购物
家长学校培训材料
2014/08/20 职场文书
思想作风纪律整顿心得体会
2014/09/04 职场文书
纪念九一八事变演讲稿:牢记历史,捍卫主权
2014/09/14 职场文书
学院党的群众路线教育实践活动整改方案
2014/10/04 职场文书
先进事迹材料范文
2014/12/29 职场文书
单位考核聘任报告
2015/03/02 职场文书
《田忌赛马》教学反思
2016/02/19 职场文书
mysql批量新增和存储的方法实例
2021/04/07 MySQL
SQL实现LeetCode(197.上升温度)
2021/08/07 MySQL