【问题标题】:Uploaded pypi package missing module on install安装时上传的 pypi 包缺少模块
【发布时间】:2020-04-27 15:31:14
【问题描述】:

我创建了一个 python 包并希望将它分发到 pypi (https://pypi.org/project/catapi.py/)。我最初的 v0.1.1 上传工作没有问题。我决定添加一个子目录来存储抽象类,因为有很多代码重用。将其上传到 pypi 并安装后,我收到 abc 模块不存在的消息。

我做了一些研究,发现我必须在 MANIFEST.in 文件中包含子目录,所以我做了。在上传并再次尝试安装时,我得到了同样的错误。我直接下载了包,解压文件发现abc目录确实存在。接下来我检查了 catapi 的 site-packages 版本,发现它没有 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__

【问题讨论】:

    标签: python-3.x pypi


    【解决方案1】:

    需要在子目录中添加

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-30
      • 1970-01-01
      • 1970-01-01
      • 2020-09-25
      • 2023-03-04
      • 1970-01-01
      相关资源
      最近更新 更多