Я пытаюсь опубликовать пакет python, и у меня возникают проблемы с его запуском после установки через pip
. Я полагаю, что это связано с моим свойством "entry_points" в моем файле setup.py.
В настоящее время я могу скачать проект через pip install my_package_name
. Когда я пытаюсь запустить пакет, я ввожу my_package_name
и получаю NameError, говорящее initialize() is not defined
. Однако, если я введу python path/to/my_package_name/__main__.py
, он будет работать нормально. Ниже приведено дерево моего проекта и мои файлы setup.py и __main__.py для справки:
my_package_name/
setup.py
my_package_name/
__init__.py
__main__.py
my_package_name.py
setup.py
:
from distutils.core import setup
setup(
name = 'my_package_name',
version = '0.0.1',
packages = ['my_package_name'],
install_requires = ['this', 'that'],
license = 'Creative Commons Attribution-Noncommercial-Share Alike license',
description = 'My cool python package',
long_description = open('readme.txt').read(),
url = 'mypackagename.github.io',
author = 'My Name',
entry_points = {
'console_scripts': [
'my_package_name = my_package_name.__main__:main' # this is likely what I'm doing wrong
]
},
)
__main__.py
from my_package_name import *
def main(args=None):
"""The main routine."""
if args is None:
args = sys.argv[1:]
initialize()
do_something()
do_something_else()
if __name__ == "__main__":
main()
Если вам нужна дополнительная информация, пожалуйста, дайте мне знать. Это мое первое знакомство с python, так что, возможно, мне не хватает большого кусочка с общими знаниями. Любая помощь или предложения с благодарностью. Спасибо!
Редактировать
Вот полный журнал ошибок при запуске my_package_name
Traceback (most recent call last):
File "C:\Program Files (x86)\Python36-32\Scripts\my_package_name-script.py", line 11, in <module>
load_entry_point('my_package_name==0.0.1', 'console_scripts', 'my_package_name')()
File "c:\program files (x86)\python36-32\lib\site-packages\my_package_name\__main__.py", line 12, in main
initialize()
NameError: name 'initialize' is not defined