2 回答

TA貢獻1815條經驗 獲得超13個贊
我認為你有兩件事感到困惑。
當您通常使用 來安裝軟件包時,它會從PyPipip
下載該軟件包的“發(fā)布文件” ,然后將使用該軟件包所需的所有相關文件安裝到本地 Python 的site-packages文件夾中。站點包的位置取決于您的 Python/配置、操作系統(tǒng)以及您是否使用虛擬環(huán)境。pip
如果這只是常規(guī)的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
...
..這里似乎沒有“文件結構”。那里安裝的文件只是為了在您的應用程序或腳本中使用或導入,而不是為了開發(fā)或測試。它通常是包的“發(fā)布版本”。因此,詢問在哪里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 安裝錯誤。
添加回答
舉報