我激活了一个安装了 pip 的 virtualenv。我做了
pip3 install Django==1.8
和 Django 成功下载。现在,我想打开 Django 文件夹。文件夹在哪里?
通常它会在“下载”中,但我不确定如果我在 virtualenv 中使用 pip 安装它会在哪里。
pip show <package name>
将提供 Windows 和 macOS 的位置,我猜是任何系统。 :)
例如:
> pip show cvxopt
Name: cvxopt
Version: 1.2.0
...
Location: /usr/local/lib/python2.7/site-packages
pip 与 virtualenv 一起使用时,通常会将软件包安装在路径 <virtualenv_name>/lib/<python_ver>/site-packages
中。
例如,我使用 Python 2.7 创建了一个名为 venv_test 的测试虚拟环境,django
文件夹位于 venv_test/lib/python2.7/site-packages/django
中。
pip show
什么都不做时,我找到了方法 #1 here。简而言之,它包括输入适当的 python 控制台并键入 help("module_name")
,其中 module_name
替换为您感兴趣的实际模块名称。您可以在 python 控制台中使用 help("modules")
查看已安装的模块。
pip list -v
可用于列出软件包的安装位置,在 https://pip.pypa.io/en/stable/news/#b1-2018-03-31 中介绍
使用“-v”选项运行 list 命令时显示安装位置。 (#979)
>pip list -v
Package Version Location Installer
------------------------ --------- -------------------------------------------------------------------- ---------
alabaster 0.7.12 c:\users\me\appdata\local\programs\python\python38\lib\site-packages pip
apipkg 1.5 c:\users\me\appdata\local\programs\python\python38\lib\site-packages pip
argcomplete 1.10.3 c:\users\me\appdata\local\programs\python\python38\lib\site-packages pip
astroid 2.3.3 c:\users\me\appdata\local\programs\python\python38\lib\site-packages pip
...
此功能在 pip
10.0.0b1 中引入。在 Ubuntu 18.04(仿生海狸)上,与 sudo apt install python-pip
或 sudo apt install python3-pip
一起安装的 pip
或 pip3
是没有此功能的 9.0.1。
检查 https://github.com/pypa/pip/issues/5599 以了解升级 pip
或 pip3
的合适方法。
sudo apt install python-pip
或 sudo apt install python3-pip
安装的 pip
是 9.0.1。检查 github.com/pypa/pip/issues/5599 以了解升级 pip
或 pip3
的合适方法。
pip
可能并不总是给出正确的答案。使用特定的 python
可执行文件调用 pip
更好,例如 python -m pip list -v
请参阅 stackoverflow.com/questions/29980798/…
最简单的方法可能是
pip3 -V
这将向您显示 pip 的安装位置以及软件包的位置。
pip
可能并不总是给出正确的答案。使用特定的 python
可执行文件调用 pip
更好,例如 python -m pip -V
请参阅 stackoverflow.com/questions/29980798/…
默认情况下,在 Linux 上,Pip 将包安装到 /usr/local/lib/python2.7/dist-packages。
在安装期间使用 virtualenv 或 --user 将更改此默认位置。如果您使用 pip show
,请确保您使用的是正确的用户,否则 pip
可能看不到您引用的包。
python3
中安装软件包 - 不推荐 - 将在 /usr/local/lib/python3.9/site-packages/
中进行。作为普通用户,他们将进入/home/normaluser/.local/lib..
。我想知道 / root/.local/lib..
是做什么用的。
/root/.local/lib
在您执行 sudo pip uninstall --user package
时发生。即,当您在 sudo-ing 时进行用户安装时会发生这种情况。这是有道理的,因为 /root
是 root 用户的用户文件夹。
在 Python 解释器或脚本中,您可以执行
import site
site.getsitepackages() # List of global package locations
和
site.getusersitepackages() # String for user-specific package location
对于安装第三方包(不在核心 Python 发行版中)的位置。
在我在 macOS 上安装了 Homebrew 的 Python 上,前者输出
['/usr/local/Cellar/python/3.7.4/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages']
,
如前一个答案中所述,它规范化为 pip show
输出的相同路径:
$ readlink -f /usr/local/Cellar/python/3.7.4/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages
/usr/local/lib/python3.7/site-packages
参考:https://docs.python.org/3/library/site.html#site.getsitepackages
getsitepackage()
和 getusersitepackages()
。至少包 statsmodels
不存在这些功能......
site
模块的一部分;谈论“实现”它们的包是没有意义的。这些是使用 pip
安装的 any 软件包的默认位置,尤其是 statsmodels
。
最安全的方法是通过您正在执行的特定 python
调用 pip
。如果您直接运行 pip show pip
,它可能会调用与 python
正在调用的不同的 pip
。例子:
$ python -m pip show pip
$ python3 -m pip show pip
$ /usr/bin/python -m pip show pip
$ /usr/local/bin/python3 -m pip show pip
这是一个示例,展示了它们的不同之处:
$ pip show pip
Location: /usr/local/lib/python3.9/site-packages
$ python -m pip show pip
Location: /Library/Python/2.7/site-packages
可以导入包然后查阅它的帮助
import statsmodels
help(sm)
在帮助的最底部有一个部分 FILE
指示此软件包的安装位置。
该解决方案至少使用 matplotlib (3.1.2) 和 statsmodels (0.11.1) (python 3.8.2) 进行了测试。
help()
个月前就知道了!我什至编写了自己的代码来转储 __doc__
。现在我上瘾了。我每天做 help(everything)
20 次。 帮助!
pip3 show <package name>
site-packages/
,我在~/Library/Python/3.7/bin/
中找到了它