#django #deployment #pythonanywhere
#джанго #развертывание #python где угодно
Вопрос:
Я загрузил средство установки pythonanywhere и пытаюсь выполнить развертывание с помощью следующей строки:
pa_autoconfigure_django.py <https://github.com/myusername/myproject.git>
Затем я получаю эту ключевую ошибку. Мой проект выполняется на локальном.
File "/projects/hosproject/venv/lib/python3.7/site-packages/pythonanywhere/project.py", line 16, in __init__
self.virtualenv = Virtualenv(self.domain, self.python_version)
File "/projects/hosproject/venv/lib/python3.7/site-packages/pythonanywhere/virtualenvs.py", line 12, in __init__
self.path = Path(os.environ["WORKON_HOME"]) / domain
File "/projects/hosproject/venv/bin/../lib/python3.7/os.py", line 678, in __getitem__
raise KeyError(key) from None
KeyError: 'WORKON_HOME'
Нужна некоторая помощь, чтобы отладить это и попытаться развернуть снова. Если это поможет, я новичок в Django и следую этому руководству: https://tutorial.djangogirls.org/en/deploy /.
Комментарии:
1. Похоже, что вам не хватает некоторых переменных окружения, требуемых virtualenvwrapper. Что ты получаешь , когда бежишь
which virtualenvwrapper.sh
?2. Я думаю, вы запускаете сценарий развертывания на своем собственном компьютере — его нужно запустить в консоли bash на PythonAnywhere.
Ответ №1:
Похоже, что вы, возможно, запускаете инструменты PythonAnywhere с терминала на своем собственном компьютере — вы должны запустить его в консоли bash на PythonAnywhere — вы можете запустить его со страницы «Консоли». (курсив мой)
Однако я добрался до этого только KeyError: WORKON_HOME
после выполнения нескольких команд, которых у меня не должно было быть (по крайней мере, это упростит очистку):
$ pip3 install --user pythonanywhere
$ pa_autoconfigure_django.py --python=3.7 git@github.com:pzrq/djangogirls-tutorial-blog.git
-bash: pa_autoconfigure_django.py: command not found
$ find / -name "pa_autoconfigure_django.py"
$ /Users/pzrq/Library/Python/3.7/bin/pa_autoconfigure_django.py --python=3.7 git@github.com:pzrq/djangogirls-tutorial-blog.git
Traceback (most recent call last):
File "/Users/pzrq/Library/Python/3.7/bin/pa_autoconfigure_django.py", line 19, in <module>
from docopt import docopt
ModuleNotFoundError: No module named 'docopt'
$ pip install docopt
...
$ /Users/pzrq/Library/Python/3.7/bin/pa_autoconfigure_django.py --python=3.7 git@github.com:pzrq/djangogirls-tutorial-blog.git
...
ModuleNotFoundError: No module named 'pythonanywhere'
$ pip install pythonanywhere
...
$ /Users/pzrq/Library/Python/3.7/bin/pa_autoconfigure_django.py --python=3.7 git@github.com:pzrq/djangogirls-tutorial-blog.git
Traceback (most recent call last):
File "/Users/pzrq/Library/Python/3.7/bin/pa_autoconfigure_django.py", line 52, in <module>
main(arguments['<git-repo-url>'], arguments['--domain'], arguments['--python'], nuke=arguments.get('--nuke'))
File "/Users/pzrq/Library/Python/3.7/bin/pa_autoconfigure_django.py", line 33, in main
project = DjangoProject(domain, python_version)
File "/Users/pzrq/Projects/djangogirls/myvenv/lib/python3.7/site-packages/pythonanywhere/project.py", line 16, in __init__
self.virtualenv = Virtualenv(self.domain, self.python_version)
File "/Users/pzrq/Projects/djangogirls/myvenv/lib/python3.7/site-packages/pythonanywhere/virtualenvs.py", line 12, in __init__
self.path = Path(os.environ["WORKON_HOME"]) / domain
File "/usr/local/bin/../Cellar/python/3.7.3/bin/../Frameworks/Python.framework/Versions/3.7/lib/python3.7/os.py", line 678, in __getitem__
raise KeyError(key) from None
KeyError: 'WORKON_HOME'
Комментарии:
1. Вы могли бы установить
pythonanywhere
пакет на свой локальный компьютер, и вы найдете часть кода пригодным для использования, но для успешного запускаpa_autoconfigure_django.py
вам нужно запустить его на PythonAnywhere из-за переменных окружения и того факта, что часть процесса находитсяgit clone
в репозитории.2. Спасибо, чтобы прояснить вышеуказанную ошибку, которая произошла только тогда, когда я неправильно запустил команды на своем локальном компьютере, а не в оболочке pythonanywhere.