【问题标题】:Where does pip install files?pip 在哪里安装文件?
【发布时间】:2020-09-25 23:18:30
【问题描述】:

像这样的 Github 文件在哪里通过 pip 安装到我的计算机上?我想在这个文件结构中运行 pytest 文件。

【问题讨论】:

  • 您使用的是什么操作系统?文件路径在每个操作系统上看起来都不同,Python 也基于此有不同的安装位置。
  • 为什么不直接克隆 repo?

标签: python github pip


【解决方案1】:

我认为你有两件事混淆。

当您通常使用pip 安装软件包时,它会从PyPi 下载该软件包的“发布文件”,然后将使用该软件包所需的所有相关文件安装到您的本地 Python 的 site-packages 文件夹。 site-packages 的位置取决于您的 Python/pip 配置、您的操作系统以及您是否使用虚拟环境。

如果这只是普通的pip,您可以使用pip show 告诉您它安装的位置。例如,在 Mac 上使用 Python3.8 安装EasyGA package from PyPi:

$ python3 -V
Python 3.8.5

$ python3 -m pip install EasyGA
...
Installing collected packages: blessings, EasyGA
Successfully installed EasyGA-0.0.8 blessings-1.7

$ python3 -m pip show EasyGA
Name: EasyGA
Version: 0.0.8
Summary: A ubiquitous or general purpuse GA
Home-page: https://github.com/danielwilczak101/EasyGA
...
Location: /usr/local/lib/python3.8/site-packages
...

..显示它安装在/usr/local/lib/python3.8/site-packages中。但是当你去那里时:

$ cd /usr/local/lib/python3.8/site-packages
$ ls -l
total 60736
-rwxr-xr-x    1 gino  admin  19681392 Sep  5 10:42 3220aef3144e83d3e26a__mypyc.cpython-38-darwin.so
drwxr-xr-x    8 gino  admin       256 Sep 26 19:20 EasyGA-0.0.8.dist-info
-rw-r--r--    1 gino  admin      1800 Sep 26 19:20 EasyGA.py
...

..这里似乎没有“文件结构”。安装在那里的文件仅用于在您的应用程序或脚本中使用或导入,并且不用于开发或测试。它通常是包的“发布版本”。因此,询问 pip 在哪里安装东西,因为你想“在这个文件结构中运行 pytest 文件”没有多大意义(至少对我来说)。

如果您想对包运行测试,最好的方法是获取包的“原始”源代码的副本。由于它托管在 Github 上,因此您需要从 repo URL 使用 git 到 clone the source codes 或将它们下载为 ZIP:

如果作者提供了源代码供下载,您也可以在 PyPi 中查看包的文件。对于 EasyGA,它的地址为EasyGA-0.0.8.tar.gz。

无论您选择哪种方式获取源代码,您都应该得到一个 EasyGA 文件夹(如果您 git clone-d 它)或 EasyGA-master 文件夹(如果您将其下载为 .zip 然后解压缩)或 EasyGA-0.0.8 文件夹(如果您从 PyPi 下载 .tar.gz 然后解压缩它)。内容都一样,包的“原始”源代码:

$ ls
EasyGA            
EasyGA-0.0.8
EasyGA-0.0.8.tar.gz
EasyGA-master     
EasyGA-master.zip

$ ls EasyGA
LICENSE.txt MANIFEST.in README.md   setup.py    src

$ ls EasyGA-0.0.8
MANIFEST.in PKG-INFO    README.md   setup.cfg   setup.py    src

$ ls EasyGA-master
LICENSE.txt MANIFEST.in README.md   setup.py    src

现在请注意,内容与您引用的 Github 页面上的内容相同。那么就按照作者How Testing works的说明操作:

$ cd EasyGA
$ ls
LICENSE.txt MANIFEST.in README.md   setup.py    src

$ python3 -m pip install pytest
Collecting pytest
  Downloading pytest-6.0.2-py3-none-any.whl (270 kB)
     |████████████████████████████████| 270 kB 2.6 MB/s 
...
Successfully installed attrs-20.2.0 iniconfig-1.0.1 more-itertools-8.5.0 packaging-20.4 pluggy-0.13.1 py-1.9.0 pyparsing-2.4.7 pytest-6.0.2 toml-0.10.1

$ pytest
================================================================== test session starts ===================================================================
platform darwin -- Python 3.8.5, pytest-6.0.2, py-1.9.0, pluggy-0.13.1
rootdir: /path/to/EasyGA
collected 1 item                                                                                                                                         

src/initialization/gene_structure/test_gene.py .                                                                                                   [100%]

=================================================================== 1 passed in 0.03s ====================================================================

【讨论】:

    【解决方案2】:

    如果您想查找软件包的安装位置,请在 pip 安装后搜索“EasyGA”文件夹。这种方法适用于 windows、mac 和 ubuntu linux。

    一个新的 EasyGA 包已上传,并已修复所有 pip 安装错误。

    任何想要使用 python 包并想了解更多信息的人只需查看 wiki。我们喜欢在教程中使用“我们之中”的角色。

    EasyGA 维基:https://github.com/danielwilczak101/EasyGA/wiki

    我们当中的教程:https://github.com/danielwilczak101/EasyGA/wiki/Setup-and-Attributes

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-20
      • 2016-04-25
      • 2019-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-10
      • 1970-01-01
      相关资源
      最近更新 更多