Вопрос:

Как запустить модуль Python из любого каталога

python setuptools

37 просмотра

1 ответ

50 Репутация автора

Я хочу создать модуль с именем, myscriptкоторый можно запустить из командной строки из любого каталога.

Я создал setup.pyфайл, который выглядит так:

import setuptools
setuptools.setup(
    name='myscript',
    version='1.0',
    packages=['lib.myscript'],
    install_requires=['setuptools', 'pandas >= 0.22.0', 'numpy >= 1.16.0'],
    python_requires='>=3.5'
)

После запуска python setup.py installя все еще не могу запустить python -m myscriptиз любого места, но каталог, в котором находится скрипт.

Моя структура папок выглядит так:

lib
  myscript
    __init__.py (empty)
    __main__.py (the code that should run)

setup.py
Автор: Param Источник Размещён: 12.06.2019 12:44

Ответы (1)


0 плюса

943 Репутация автора

Для этого вы должны установить entry_pointsфункцию setup.py(и если я правильно понял ваш вопрос).

Ваш setup.pyстановится:

import setuptools
setuptools.setup(
    name='myscript',
    version='1.0',
    packages=setuptools.find_packages(),
    install_requires=['setuptools', 'pandas >= 0.22.0', 'numpy >= 1.16.0'],
    python_requires='>=3.5'
    entry_points={
        'console_scripts': [
            'myscript=myscript.__main__:main' # or any specific function you would like
        ]
    },
)

Вот __main__имя файла (в вашем случае). И mainэто функция (вы можете изменить ее на любую функцию, какую захотите). И myscriptваша команда.

Теперь вы можете запустить (возможно, myscriptв вашем случае):

python -m pip install yourpackage

Тогда вы можете запустить свой скрипт из любого места:

myscript

редактировать:

расположите вашу файловую структуру следующим образом:

myscript
  myscript
    __init__.py (empty)
    __main__.py (the code that should run)
  setup.py
Автор: Ruturaj Размещён: 12.06.2019 12:54
Вопросы из категории :
32x32