pip и setup.py install не устанавливают актуальные модули, только egg-info

Я сделал две упаковки (pphp а также xmlx) и распространил и загрузил их стандартным способом, используя python setup.py sdist bdist_wheel а также twine upload dist/*,

Затем я попытался установить их с помощью pip installи, кажется, работает нормально... но потом, в интерактивной оболочке:

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

Я тогда попробовал python setup.py install но тот же результат (казалось хорошо, но не работал).

Так, что происходит?

1 ответ

Решение

Это хранилище для xmlx, да? Вашsetup.py объявляет пакеты в вашем проекте с packages=find_packages(), но ваш проект не содержит никаких пакетов импорта, только однофайловый модуль, xmlx.py, Это должно быть заявлено в вашем setup.py вместо этого написав:

py_modules=['xmlx']

(Также, dist/ а также *.egg-info/ являются артефактами сборки и не должны храниться в системе контроля версий; Я рекомендую добавить их в свой .gitignore.)

Другие вопросы по тегам