指示Python在另一个文件夹中查找模块

我对python仍然很陌生,所以请原谅我,如果这是非常简单的或极其错误的思考方式。

我已经安装了python 2.7。 从我所了解的当我运行下面的代码时,它列出了它寻找模块的目录。

Python 2.7.12 (default, Oct 11 2016, 14:42:58) 
[GCC 4.2.1 Compatible Apple LLVM 7.3.0 (clang-703.0.31)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> print 'n'.join(sys.path)

/usr/local/lib/python2.7/site-packages
/usr/lib/python2.7/site-packages
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/readline
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages

我有另一个目录,似乎有一堆我安装在它的Python模块。 “/Library/Python/2.7/site-packages”

我想我需要做两件事之一:

(1)直接python查看这个额外的文件夹模块。 我怎么做?

(2)将模块安装在其中一个已经指向的文件夹中。 我一直在使用pip来安装模块,我认为pip正在安装到这个额外的导演。 如何检查pip是否安装到此文件夹? 如何更改pip安装软件包的位置?

谢谢!


这个东西由site.py设置。 你可以通过输入解释器找出哪个site.py

python -v

或者,在交互式解释器中导入site并检查site.__file__属性。

在你可以运行的site.py也有一个有用的脚本

python -m site

你想在输出中看到你的用户网站,类似

USER_BASE: '/home/<your_username>/.local' (exists)
USER_SITE: '/home/<your_username>/.local/lib/python2.7/site-packages' (exists)
ENABLE_USER_SITE: True

当你点击pip install一个软件包时,使用pip install --user ,它会将模块安装到你的用户空间。 不要安装与sudo pip install东西。 不要像jmd_dk中的“快速修复”那样手动添加sys.path正确地做。

如果在阅读站点文档和PEP370后,仍然无法正确设置用户站点,那么可以在您的bash配置文件中添加这样一行:

export PYTHONPATH=/home/<your_username>/.local/lib/python2.7/site-packages

如果您同时安装了Python 3和Python 2,请注意两个解释器都会看到PYTHONPATH环境变量。 在这种情况下,强烈建议为每个解释器(或使用虚拟环境)分别启用site.USER_SITE以提供已安装软件包的适当命名空间。

链接地址: http://www.djcxy.com/p/87183.html

上一篇: Directing Python to look in another folder for modules

下一篇: Error when importing scipy