python_path

转载:http://blog.csdn.net/gqtcgq/article/details/49365933

当Python执行import语句时,它会在一些路径中搜索Python模块和扩展模块。可以通过sys.path查看这些路径,比如:

>>> import sys  
>>> sys.path  
['', '/usr/lib/python2.7/site-packages/demo_nova_hooks-5-py2.7.egg', '/usr/lib64/python27.zip', '/usr/lib64/python2.7', '/usr/lib64/python2.7/plat-linux2', '/usr/lib64/python2.7/lib-tk', '/usr/lib64/python2.7/lib-old', '/usr/lib64/python2.7/lib-dynload', '/usr/lib64/python2.7/site-packages', '/usr/lib64/python2.7/site-packages/gtk-2.0', '/usr/lib/python2.7/site-packages']  
     其中的空字符串表示当前工作目录。
     当安装第三方模块的时候,如果不是按照标准方式安装,则为了能够引用(import)这些模块,必须将这些模块的安装路径添加到sys.path中,有以下几种方法:

     1:最简单的方法,是在sys.path的某个目录下添加路径配置文件,最常见的就是在…/site-package/目录下。路径配置文件的扩展名是”.pth”,其中的每一行包含一个单独的路径,该路径会添加到sys.path列表中(已验证)。”.pth”中的路径既可以是绝对路径,也可以是相对路径,如果是相对路径,则是相对于包含”.pth”文件的路径而言的。
     2:另一种方法就是在Python标准库中修改site.py文件,并编辑sys.path。除非使用了-S开关选项,否则site.py在Python解释器加载时会自动被引入(执行),作用是加载site-packages中的包和模块到python的sys.path里面。所以,可以编辑site.py,然后加上下面的两行内容即可:
import sys  
sys.path.append('/xxx/xxxxx/')  
     3:有两个环境变量可以编辑sys.path。  PYTHONHOME会改变prefix和exec_prefix的值,默认情况下prefix和exec_prefix都是/usr/local。库搜索路径就是prefix/lib/pythonversion 和 exec_prefix/lib/pythonversion。
     如果设置PYTHONHOME为单独的路径,则该路径会替换prefix和exec_prefix的值,如果需要prefix和exec_prefix的值不同,则置PYTHONHOME为”prefix:exec_prefix”。比如如果将PYTHONHOME设置为”/www/python”,则sys.path就会变为

[”,’/www/python/lib/pythonX.Y/’,’/www/python/lib/pythonX.Y/plat-linux2’, …].
注意,修改了PYTHONHOME后,系统可能因找不到site模块而无法启动python解释器,所以,除非特别需求,不要修改该变量。

[root@localhost ~]# python  
ImportError: No module named site  

PYTHONPATH 环境变量指定的一系列路径,会添加到sys.path中。比如如果PYTHONPATH设置为”/www/python:/opt/py”的话,则sys.path会以 [‘/www/python’,’/opt/py’].开头。注意这些路径必须存在,因为site模块会将不存在的路径删除。

### 正确设置和使用 DPYTHON_PATH 环境变量 在 Linux 和类 Unix 系统中,环境变量是操作系统的运行时参数之一。`DPYTHON_PATH` 并不是一个标准的 Python 或系统环境变量名称,因此它的功能完全取决于具体的应用场景或项目需求[^2]。 #### 设置 `DPYTHON_PATH` 要正确设置 `DPYTHON_PATH`,可以按照以下方式完成: 1. **临时设置(仅限当前会话有效)** 使用 `export` 命令可以在当前终端会话中临时设置该变量: ```bash export DPYTHON_PATH=/path/to/your/directory ``` 这种方法适用于测试目的,因为一旦关闭终端窗口,这个设置就会丢失[^4]。 2. **永久设置(全局生效)** 如果希望每次登录都自动加载此变量,则需要将其写入用户的 shell 配置文件中。对于大多数用户来说,这通常是 `.bashrc` 文件或者 `/etc/profile` 文件(针对所有用户)。编辑配置文件并添加如下内容: ```bash export DPYTHON_PATH=/path/to/your/directory ``` 修改完成后,重新加载配置文件以使更改立即生效: ```bash source ~/.bashrc ``` 3. **追加路径至现有变量** 若已经存在一个 `DPYTHON_PATH` 变量,并且只想向其中追加新的目录而不覆盖原有值,可以这样实现: ```bash export DPYTHON_PATH=${DPYTHON_PATH}:/new/path/to/add ``` 上述语法确保即使原变量为空也不会出现问题[^3]。 #### 在 Python 中访问 `DPYTHON_PATH` Python 脚本可以通过内置模块 `os.environ` 来读取任何已定义好的环境变量。例如,在脚本内部获取 `DPYTHON_PATH` 的值可以用下面的方法: ```python import os dpython_path = os.getenv('DPYTHON_PATH', 'default_value_if_not_set') print(f"The value of DPYTHON_PATH is {dpython_path}") ``` 这里还提供了一个默认返回值 `'default_value_if_not_set'` ,以防万一环境中未设定该变量时不会引发异常[^1]。 #### 注意事项 - 确保所指代的具体含义清晰明了;如果是自创命名空间下的特殊用途,请附带文档说明其作用范围与预期行为。 - 对于涉及多版本解释器共存的情况,务必小心处理不同安装位置之间的冲突问题。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值