首页 > 编程知识 正文

动态改变python的搜索路径(python 搜索路径)

时间:2023-12-05 14:04:53 阅读:312309 作者:WJLD

本文目录一览:

  • 1、如何添加Python的模块搜索路径
  • 2、如何设置python模块的默认搜索路径?
  • 3、python 模块的路径搜索方法?
  • 4、怎样在Linux环境下改变python的模块路径
  • 5、如何设置python模块的默认搜索路径

如何添加Python的模块搜索路径

方法一:函数添加

1 import sys

2 查看sys.path

3 添加sys.path.append("c:\")

方法二:修改环境变量

w用户可以修改系统环境变量PYTHONPATH

方法三:增加.pth文件,推荐!

在site-packages添加一个路径文件,如mypkpath.pth,必须以.pth为后缀,写上你要加入的模块文件所在的目录名称就是了。

1 windows

c:python27site-packages

# 我们的学员把pth文件直接放在c:python27

# (或其他python安装目录)目录下测试也是有效的

# 2015.9.23

2 linux(ubuntu)

/usr/local/lib/python2.7/dist-packages (note by shanql, 我是放在这个目录下有效的,所添加的目录一定要存在,不存在则会不成功)

2 linux(redhat)

/usr/lib/python2.7/site-packages

如何设置python模块的默认搜索路径?

Python 的模块搜索路径 PYTHONPATH 类似 Java 的 CLASSPATH

由以下路径组合而成,通过更改以下 4 者其中之一都可以改变 Python 模块的默认搜索路径:

1. 当前工作目录

2. 操作系统的 PYTHONPATH 环境变量

3. Python 安装目录 lib/site-packages 中或 PYTHONPATH 中的 .pth 文件定义的路径

如:find ~/my_lib -type d -print ~/python2.6/site-packages/my_lib.pth

4. 运行时对 sys.path 的改变,如:

向后增加:

sys.path.append(path)

path 不要以 / 或 结尾。

向前增加:

sys.path.insert(0, path)

python 模块的路径搜索方法?

导入一个叫 spam 的模块时,解释器先在当前目录中搜索名为 spam.py 的文件。如果没有找到的话,接着会到 sys.path 变量中给出的目录列表中查找。 sys.path 变量的初始值来自如下:

输入脚本的目录(当前目录)。

环境变量 PYTHONPATH 表示的目录列表中搜索

(这和 shell 变量 PATH 具有一样的语法,即一系列目录名的列表)。

Python 默认安装路径中搜索。

Note

在支持符号链接的文件系统中,输入的脚本所在的目录是符号链接指向的目录。 换句话说也就是包含符号链接的目录不会被加到目录搜索路径中。

实际上,解释器由 sys.path 变量指定的路径目录搜索模块,该变量初始化时默认包含了输入脚本(或者当前目录), PYTHONPATH 和安装目录。这样就允许 Python 程序了解如何修改或替换模块搜索目录。需要注意的是由于这些目录中包含有搜索路径中运行的脚本,所以这些脚本不应该和标准模块重名,否则在导入模块时 Python 会尝试把这些脚本当作模块来加载。这通常会引发错误。

怎样在Linux环境下改变python的模块路径

在实际使用中,很多人都适用virtualenv的;pip

install

virtualenv

然后在某个文件夹

virtualenv

path

使用的时候:source

path/bin/activate就改变了python模块的路径到path/lib下

仔细读读那个activate脚本好了。其实主要就是改变了pythonpath。

如何设置python模块的默认搜索路径

当导入名为spam的模块时,解释器将在当前目录中搜索名为spam.py的文件,然后在环境变量PYTHONPATH指定的目录列表中搜索。这与shell变量PATH具有相同的语法,即目录名称列表。当没有设置PYTHONPATH时,或者当没有找到文件时,搜索将继续依赖于与安装相关的默认路径;在Unix上,这通常是:/ usr / local / lib / python。

实际上,在由包含输入脚本(或当前目录)的目录PYTHONPATH和与安装相关的默认值的目录中初始化的变量sys.path给出的目录列表中搜索模块。这允许Python程序知道他们正在做什么来修改或替换模块搜索路径。请注意,因为包含正在运行的脚本的目录位于搜索路径上,因此该脚本与标准模块不具有相同的名称非常重要,否则当导入该模块时,Python将尝试将该脚本作为模块加载。这通常是一个错误。有关详细信息,请参见第6.2节“标准模块”。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。