2 回答
TA贡献1815条经验 获得超13个赞
我认为你有两件事感到困惑。
当您通常使用 来安装软件包时,它会从PyPipip
下载该软件包的“发布文件” ,然后将使用该软件包所需的所有相关文件安装到本地 Python 的site-packages文件夹中。站点包的位置取决于您的 Python/配置、操作系统以及您是否使用虚拟环境。pip
如果这只是常规的pip
,您可以用来pip show
告诉您它安装了东西的位置。例如,在 Mac 上使用 Python3.8从 PyPi 安装 EasyGA 包:
$ 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 上,因此您需要git从存储库 URL克隆源代码或将其下载为 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 页面上的内容相同。然后只需按照作者关于测试工作原理的说明进行操作即可:
$ 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 ====================================================================
TA贡献1828条经验 获得超3个赞
如果您想查找软件包的安装位置,请在 pip 安装后搜索“EasyGA”文件夹。此方法适用于 Windows、Mac 和 ubuntu Linux。
新的 EasyGA 包已上传,并修复了所有 pip 安装错误。
添加回答
举报