pip 和 setup.py install 不安装实际模块,只安装 egg-info

pip and setup.py install don't install actual modules, only egg-info

我制作了两个包(pphpxmlx)并使用 python setup.py sdist bdist_wheeltwine upload dist/*.[=18= 以标准方式分发和上传它们]

然后我尝试使用 pip install 安装它们,它 似乎 工作正常...但是,在交互式 shell:

>>> import xmlx
Traceback (most recent call last):
  File <module>, line 1:
    import xmlx
ImportError: No module named xmlx

然后我尝试 python setup.py install 但结果相同(看起来不错但没有用)。

所以这是怎么回事?

This is the repository for xmlx, yes? Your setup.py declares the packages in your project with packages=find_packages(), but your project does not contain any import packages,只有一个单文件模块,xmlx.py。这必须在你的 setup.py 中声明,而不是写:

py_modules=['xmlx']

(此外,dist/*.egg-info/ 是构建工件,不应存储在版本控制中;我建议将它们添加到您的 .gitignore。)