我仍然是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安装包的位置?
谢谢!
答案 0 :(得分:4)
此内容由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
安装内容。不要像{&#34;快速修复&#34;}那样手动操作sys.path
。从jmd_dk建议。 做得好。
如果在阅读site documentation和PEP370后,您仍然无法正确设置用户网站,则可以在bash配置文件中添加如下所示的行:
export PYTHONPATH=/home/<your_username>/.local/lib/python2.7/site-packages
如果您同时安装了Python 3和Python 2,请注意两个解释器都会看到PYTHONPATH
环境变量。在这种情况下,强烈建议为每个解释器(或使用虚拟环境)单独启用site.USER_SITE
,以便为已安装的软件包提供足够的命名空间。