Я написал статический генератор блогов, созданный с использованием 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
.