pip 安装成功后出现 ModuleNotFoundError

ModuleNotFoundError after successful pip install

我刚创建的一个包有问题,我想在 PyPi 上上传它。包结构如下:

|- setup.py
|- README.md
|- alexandria (root folder for the package)
  |- __init__.py
  |- many sub-packages

setup.py指定包名为“alexandria-python”。我希望我可以称它为“alexandria”,但该名称已在 PyPi 上保留。 当我第一次使用“pip install -e .”在本地安装包时,它工作正常。我可以从 Anaconda 打开 Spyder 或 Jupyter,使用“import alexandria”,没有返回错误。 我也可以毫无问题地导入和使用任何子包。

所以我继续在 test-Pypi 上上传包。它工作正常,可以在以下位置找到软件包: https://test.pypi.org/project/alexandria-python/

我尝试使用 pip install -i https://test.pypi.org/simple/ alexandria-python 在我的电脑上安装它 安装似乎有效(“已成功安装 alexandria-python-0.0.1”),但是当我打开 Spyder/Jupyter 并尝试“导入 alexandria”时,出现错误:

回溯(最近调用最后):

文件“/tmp/ipykernel_24757/3637483902.py”,第 1 行,位于 进口亚历山大

ModuleNotFoundError: 没有名为 'alexandria'

的模块

这就更奇怪了,因为这个包是在conda环境中找到的。例如,使用命令“conda list”会产生:

/home/romain/installs/anaconda3 环境中的软件包:

名称版本构建频道 _ipyw_jlab_nb_ext_conf 0.1.0 py39h06a4308_0
_libgcc_mutex 0.1 主要
_openmp_mutex 4.5 1_gnu
雪花石膏 0.7.12 pyhd3eb1b0_0
亚历山大-python 0.0.1 pypi_0 pypi

所以包裹找到了。

最后,我不明白错误的根源是什么:包结构问题,python路径...有人知道吗?非常感谢。

您还没有将实际的包代码上传到 PyPi。

如果你去这里 to your PyPi downloads page 然后下载源代码分发,你会看到它包含你的 .egg-info 文件而不是你的代码。

在上传到 PyPi 之前,请确保您的存档文件包含所需的一切。