上载的pypi软件包缺少模块

时间:2020-04-27 15:31:14

标签: python-3.x pypi

我创建了一个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__

1 个答案:

答案 0 :(得分:0)

有必要将子目录添加到

packages=['package1', 'package2', 'etc']

setup.py的一部分。就我而言,我必须添加abc目录才能将其放置在catapi安装中

packages=['catapi', 'catapi.abc'],