Модуль не найден после установки с помощью setuptools - PullRequest
0 голосов
/ 29 января 2019

Я распространяю пакет Python, который я написал, и сталкиваюсь с проблемами доступа к нему после установки с помощью setuptools.

Пакет структурирован следующим образом

mypackage
   ├── setup.py
   ├── mymodule
         ├── __init__.py
         ├── somefile.py
         ├── mysubmodule
                ├── __init__.py
                ├── entry_file.py

После установки с помощью setuptools (40.7.0), он хорошо работает на моей локальной Windows 10 машине.Однако в Windows 2012 Server R2 Standard с точно такими же версиями пакетов Python и pip выдается следующая ошибка:

PS C:\mypath\mypackage> mymodule
Traceback (most recent call last):
  File "C:\Python36\Scripts\mymodule-script.py", line 11, in <module>
    load_entry_point('mymodule==0.1.0', 'console_scripts', 'mymodule')()
  File "C:\Python36\lib\site-packages\pkg_resources\__init__.py", line 487, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "C:\Python36\lib\site-packages\pkg_resources\__init__.py", line 2728, in load_entry_point
    return ep.load()
  File "C:\Python36\lib\site-packages\pkg_resources\__init__.py", line 2346, in load
    return self.resolve()
  File "C:\Python36\lib\site-packages\pkg_resources\__init__.py", line 2352, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
ModuleNotFoundError: No module named 'mymodule.mysubmodule'

При запуске Python из командной строки в каталоге пакетасервера Windows и под управлением

>>> import mymodule
>>> mymodule.mysubmodule.entry_file.main()

mysubmodule и entry_file.py могут быть найдены, и программа работает как положено.

Точка входа в моем файле setup.py настроена какследует

  entry_points={
      'console_scripts': ['mymodule=mymodule.mysubmodule.entry_file:main']
  },

Почему mysubmodule не найден при установке на Windows 2012 Server R2 Standard и C:\Python36\Scripts\mymodule-script.py не может разрешить точку входа?

...