#django #python-3.x #setup.py
#django #python-3.x #setup.py
Вопрос:
Я написал статический генератор блогов, созданный с использованием Django. Некоторые проблемы возникли, когда я упаковал его с setup.py и создал соответствующий исполняемый файл.
Когда я использую pip install maltose
его для установки и запуска maltose-cli migrate
, пока все нормально.
Но когда я запускаю maltose-cli runserver
, я получаю сообщение об ошибке, которое c:softwarepythonpython.exe: can't open file 'C:SoftwarePythonScriptsmaltose-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?:action=list_classifiers
'License :: OSI Approved :: MIT License',
'Programming Language :: Python :: 3.6',
],
# $ setup.py publish support.
cmdclass={
'upload': UploadCommand,
},
)
Реж
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
.
Ответ №1:
Эта ошибка связана с функцией автоматической перезагрузки при изменении исходного кода проекта.
В качестве обходного пути используйте флаг —noreload, чтобы отключить эту функцию.
maltose-cli runserver --noreload
Примечание сбоку: это также относится к Bottle.py