我创建了一个python软件包,并希望将其分发到pypi(https://pypi.org/project/catapi.py/)上。我最初的v0.1.1上传没有问题。我决定添加一个子目录来存储抽象类,因为有很多代码重用。将其上传到pypi并安装后,我收到消息abc模块不存在。
我做了一些研究,发现我必须在MANIFEST.in文件中包含子目录,所以我这样做了。在上载并再次尝试安装时,出现相同的错误。我直接下载了软件包并提取了文件以找到abc目录确实存在。接下来,我检查了catapi的站点软件包版本,只是发现它没有abc模块。
有人遇到过这个问题,知道如何解决吗?这是显示问题的脚本
# make a temp dir to hold this in
mkdir catapi
cd catapi
# Prepare python venv
python -m venv env-catapi
source env-catapi/bin/activate
pip install catapi.py==0.3.4
# Download file for comparison
wget https://files.pythonhosted.org/packages/ac/ee/044c1cc53e7c994fe4a7d57362651da8adff54eb34680c66f62a1d4fb57d/catapi.py-0.3.4.tar.gz
tar -xvf catapi.py-0.3.4.tar.gz
diff catapi.py-0.3.4/catapi env-catapi/lib/python3.8/site-packages/catapi
deactivate
cd ../
# Prints out
# Only in catapi: abc
# Only in env-catapi/lib/python3.8/site-packages/catapi: __pycache__
答案 0 :(得分:0)
有必要将子目录添加到
packages=['package1', 'package2', 'etc']
setup.py的一部分。就我而言,我必须添加abc目录才能将其放置在catapi安装中
packages=['catapi', 'catapi.abc'],