Как исправить ошибку «Нет такого файла или каталога» при выполнении console-script с помощью setup.py? - PullRequest
1 голос
/ 20 апреля 2019

Я написал статический генератор блогов, созданный с использованием Django.Некоторые проблемы возникли, когда я упаковал его с помощью setup.py и создал соответствующий исполняемый файл.

Когда я использую pip install maltose, чтобы установить его и запустить maltose-cli migrate, пока все нормально.

Но когда я запускаю maltose-cli runserver, я получаю сообщение об ошибке c:\software\python\python.exe: can't open file 'C:\Software\Python\Scripts\maltose-cli': [Errno 2] No such file or directory.

И затем я пытаюсь maltose-cli.py runserver, все в порядке.

Это мой setup.py

setup(
    name=NAME,
    version=about['__version__'],
    description=DESCRIPTION,
    long_description=long_description,
    long_description_content_type='text/markdown',
    author=AUTHOR,
    author_email=EMAIL,
    python_requires=REQUIRES_PYTHON,
    url=URL,
    packages=find_packages(include=["maltose", 'maltose.*']),

    scripts=['maltose-cli.py'],
    entry_points={
        'console_scripts': ['maltose-cli=maltose:execute'],
    },
    install_requires=REQUIRED,
    extras_require=EXTRAS,
    include_package_data=True,
    license='MIT',
    classifiers=[
        # Trove classifiers
        # Full list: https://pypi.python.org/pypi?%3Aaction=list_classifiers
        'License :: OSI Approved :: MIT License',
        'Programming Language :: Python :: 3.6',
    ],
    # $ setup.py publish support.
    cmdclass={
        'upload': UploadCommand,
    },
)

Dir

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----        2019/4/20     18:41                maltose
-a----        2019/4/20     18:47             90 maltose-cli.py
-a----        2019/4/20     18:47           4047 setup.py

В maltose/__init__.py

import os
import sys


def execute():
    os.environ.setdefault('DJANGO_DEBUG', 'True')
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'maltose.maltose.settings')
    try:
        from django.core.management import execute_from_command_line
    except ImportError as exc:
        raise ImportError(
            "Couldn't import Django. Are you sure it's installed and "
            "available on your PYTHONPATH environment variable? Did you "
            "forget to activate a virtual environment?"
        ) from exc
    execute_from_command_line()

Если вам нужно, весь код на https://github.com/MaltoseEditor/maltose

Как можноЯ это решаю?Я надеюсь, что он будет работать нормально, когда я буду запускать maltose-cli runserver.

...