我激活了一个安装了pip的virtualenv。我所做的
pip3 install Django==1.8
Django下载成功。现在,我要打开Django文件夹。文件夹位于哪里?
通常它会在“下载”中,但如果我在virtualenv中使用pip安装它,我不确定它会在哪里。
我激活了一个安装了pip的virtualenv。我所做的
pip3 install Django==1.8
Django下载成功。现在,我要打开Django文件夹。文件夹位于哪里?
通常它会在“下载”中,但如果我在virtualenv中使用pip安装它,我不确定它会在哪里。
当前回答
PIP list -v可用于列出软件包的安装位置,在https://pip.pypa.io/en/stable/news/#b1-2018-03-31中介绍
使用“-v”选项显示列表命令运行时的安装位置。(# 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 (Bionic Beaver)上,pip或pip3安装了sudo apt install python-pip或sudo apt install python3-pip是9.0.1,没有这个功能。
请访问https://github.com/pypa/pip/issues/5599以获得升级pip或pip3的合适方法。
其他回答
当与virtualenv一起使用时,PIP通常会将包安装在<virtualenv_name>/lib/<python_ver>/site-packages路径下。
例如,我用Python 2.7创建了一个名为venv_test的测试virtualenv, django文件夹在venv_test/lib/python2.7/site-packages/django。
pip show <包名>将提供Windows和macOS的位置,我猜任何系统。:)
例如:
> pip show cvxopt
Name: cvxopt
Version: 1.2.0
...
Location: /usr/local/lib/python2.7/site-packages
PIP list -v可用于列出软件包的安装位置,在https://pip.pypa.io/en/stable/news/#b1-2018-03-31中介绍
使用“-v”选项显示列表命令运行时的安装位置。(# 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 (Bionic Beaver)上,pip或pip3安装了sudo apt install python-pip或sudo apt install python3-pip是9.0.1,没有这个功能。
请访问https://github.com/pypa/pip/issues/5599以获得升级pip或pip3的合适方法。
在Python解释器或脚本中,您可以这样做
import site
site.getsitepackages() # List of global package locations
and
site.getusersitepackages() # String for user-specific package location
对于安装第三方包(不在核心Python发行版中的)的位置。
在macOS上我的homebrew安装的Python上,前者输出
[' / usr /地方/地窖/ python / 3.7.4 /框架/ Python.framework /版本/ 3.7 / lib / python3.7 /网站”),
这规范化到由PIP输出的相同路径显示,如之前的回答中所述:
$ 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
最安全的方法是通过正在执行的特定python调用pip。如果直接运行pip show pip,它可能调用的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