我激活了已安装pip的virtualenv。 我做了
pip3 install Django==1.8
和Django成功下载。 现在,我想打开Django文件夹。 文件夹在哪里? 通常它是在"下载"中,但是我不确定如果在virtualenv中使用pip安装它会在哪里。
pip show将提供Windows的位置,我猜任何系统
pip show适用于Mac!
@gdbj希望您还没有发表评论!
是否可以通过CLI args,环境变量或配置文件覆盖安装软件包的目录?
根据大众需求,通过发布的答案提供了一个选项:
pip show将提供Windows和macOS的位置,我猜是任何系统。 :)
例如:
> pip show cvxopt
Name: cvxopt
Version: 1.2.0
...
Location: /usr/local/lib/python2.7/site-packages
在Mac上,这向我显示了包含awscli源代码的目录,但没有二进制文件。 :/
在我的Mac上工作。目录中有一个.py文件
在Windows上也可以使用。
正确,但要完全符合提出的问题,应为pip3 show
这个很方便
我在Windows上使用python 3.6," pip"是指python 3的pip。我不需要指定" pip3"。
@CoryKlein不是site-packages,而是在~LibraryPython3.7bin中找到的
我问一个更具边界性但有用的问题:如果您尚未安装任何软件包,那么您如何知道pip3将下载的软件包放在哪里?
对于Ubuntu 18.04表现很好
那么pip3呢? pip3似乎仍然将站点包放在lib / python2.7中?
与virtualenv一起使用时,pip通常会将软件包安装在路径/lib//site-packages中。
例如,我使用Python 2.7创建了一个名为venv_test的测试virtualenv,并且django文件夹位于venv_test/lib/python2.7/site-packages/django中。
有时您可能不知道virtualenv名称/路径,例如与Jupyterhub / binderhub产生的资源一起使用。当pip show不执行任何操作时,我发现这里的方法1有效。简要地说,它包括输入适当的python控制台并键入help("module_name"),其中module_name被替换为您感兴趣的实际模块名称。您可以在python控制台中使用help("modules")查看已安装的模块。
您以哪种方式构建了virtualenv?我正在使用conda创建我的虚拟环境,而pip3并未在您提到的文件夹中安装软件包
当时(差不多4年前),我正在使用virtualenv和Python2.x。现在,我正在使用venv和Python3.5.x。不过,我仍然找到相同的常规文件夹结构。借助Anaconda,多数民众赞成在经过精心策划的独特分布中,因此它可能至少部分地改变了结构。
默认情况下,在Linux上,Pip将软件包安装到/usr/local/lib/python2.7/dist-packages。
在安装过程中使用virtualenv或--user将更改此默认位置。如果使用pip show,请确保使用的用户正确,否则pip可能看不到您所引用的软件包。
在Python解释器或脚本中,您可以执行
import site
site.getsitepackages() # list of global package locations
和
site.getusersitepackages() #string for user-specific package location
位置安装了第三方软件包(不在核心Python发行版中)。
在MacOS上由Brew安装的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