Ответ 1
Вы можете использовать аргумент py_modules
вместо аргумента packages
для перечисления отдельных файловых модулей.
См. https://docs.python.org/3/distutils/setupscript.html#listing-individual-modules
Я не совсем уверен, как создать действительно простой однофайловый исходный модуль. Есть ли там образец модуля, где-то где-нибудь, где можно построить python.egg?
На странице setuptools это выглядит довольно просто: у вас есть только файл setup.py
, а затем, по крайней мере, еще один .py файл, и я могу создать файл .egg ОК и даже установить его с помощью easy_install
, но я не могу представить import
файл изнутри python. (примечание: использование 2.6.4)
здесь мой пример dir:
sconsconfig
setup.py
sconsconfig.py
setup.py:
from setuptools import setup, find_packages
setup(name='sconsconfig',
version='0.1',
packages = find_packages(),
)
sconsconfig.py:
def blarg(x):
return x+1
Если я запустил setup.py bdist_egg
, тогда он создаст файл с яйцом, но если я посмотрю в нем, то нет .py исходного файла....
Вы можете использовать аргумент py_modules
вместо аргумента packages
для перечисления отдельных файловых модулей.
См. https://docs.python.org/3/distutils/setupscript.html#listing-individual-modules
Для distutils
, https://docs.python.org/3/distutils/introduction.html#a-simple-example:
from distutils.core import setup
setup(name='foo',
version='1.0',
py_modules=['foo'],
)
Тогда вам нужен только файл:
foo.py
И в Ubuntu 14.04:
sudo python setup.py
помещает его под:
/usr/local/lib/python2.7/dist-packages/foo.py
без каких-либо каталогов.