Windows python setup.py install не распространяет модульные файлы python - PullRequest
0 голосов
/ 06 декабря 2018

Я искал в Интернете несколько часов, но не смог выяснить, что я делаю не так.Я устанавливаю свой собственный пакет через python setup.py install.Это работает, хотя я не могу import mymodule где-либо в системе.

Вот так выглядит каталог:

C:\PyDev\simple_test\mymodule
C:\PyDev\simple_test\setup.py
C:\PyDev\simple_test\mymodule\__init__.py

С: __init __. Py

def sayhello():
    print("Hello")

setup.py

from setuptools import setup
setup(
    name='mymodule'
)

командная строка: python setup.py install

Это происходит без каких-либо ошибок.Но когда я смотрю на установленный файл .egg в пакетах сайта, он содержит только каталог EGG-INFO и никаких исходных файлов вообще ...

Это вывод команды install:

(venv) C:\PyDev\simple_test>python setup.py install
running install
running bdist_egg
running egg_info
creating mymodule.egg-info
writing mymodule.egg-info\PKG-INFO
writing dependency_links to mymodule.egg-info\dependency_links.txt
writing top-level names to mymodule.egg-info\top_level.txt
writing manifest file 'mymodule.egg-info\SOURCES.txt'
reading manifest file 'mymodule.egg-info\SOURCES.txt'
writing manifest file 'mymodule.egg-info\SOURCES.txt'
installing library code to build\bdist.win-amd64\egg
running install_lib
warning: install_lib: 'build\lib' does not exist -- no Python modules to install

creating build
creating build\bdist.win-amd64
creating build\bdist.win-amd64\egg
creating build\bdist.win-amd64\egg\EGG-INFO
copying mymodule.egg-info\PKG-INFO -> build\bdist.win-amd64\egg\EGG-INFO
copying mymodule.egg-info\SOURCES.txt -> build\bdist.win-amd64\egg\EGG-INFO
copying mymodule.egg-info\dependency_links.txt -> build\bdist.win-amd64\egg\EGG-INFO
copying mymodule.egg-info\top_level.txt -> build\bdist.win-amd64\egg\EGG-INFO
zip_safe flag not set; analyzing archive contents...
creating dist
creating 'dist\mymodule-0.0.0-py3.7.egg' and adding 'build\bdist.win-amd64\egg' to it
removing 'build\bdist.win-amd64\egg' (and everything under it)
Processing mymodule-0.0.0-py3.7.egg
Copying mymodule-0.0.0-py3.7.egg to c:\pydev\simple_test\venv\lib\site-packages
Adding mymodule 0.0.0 to easy-install.pth file

Installed c:\pydev\simple_test\venv\lib\site-packages\mymodule-0.0.0-py3.7.egg
Processing dependencies for mymodule==0.0.0
Finished processing dependencies for mymodule==0.0.0

Если я запускаю python setup.py develop, похоже, это работает.Затем я могу получить доступ к пакету по всей моей системе.

1 Ответ

0 голосов
/ 07 декабря 2018

Я не совсем уверен, в чем причина, но две вещи выделяются:

  • У вас не указано packages в вашем файле setup.py
  • Имявашего каталога модулей отличается от имени вашего основного каталога

Я мог бы предположить, что комбинация этих двух факторов приведет к тому, что setuptools не сможет найти ваш источник.

Вы можете попробовать переименовать каталог src или изменить setup.py на

from setuptools import setup, find_packages

setup(name='mymodule',
      packages=find_packages()
)
...