#python #django #python-3.x #virtualenv #uwsgi
#python #django #python-3.x #virtualenv #uwsgi
Вопрос:
Я следовал этому руководству: https://uwsgi-docs.readthedocs.io/en/latest/tutorials/Django_and_nginx.html
Переключение с установки virtualenv uwsgi на глобальный uwsgi приводит к этой ошибке:
Traceback (most recent call last):
File "/var/MyServer/lib/python3.4/site-packages/django/__init__.py", line 3, in <module>
from django.utils.version import get_version
File "/var/MyServer/lib/python3.4/site-packages/django/utils/version.py", line 3, in <module>
import datetime
File "/usr/lib/python3.4/datetime.py", line 7, in <module>
import time as _time
ImportError: No module named 'time'
unable to load app 0 (mountpoint='') (callable not found or import error)
Правильно ли я понимаю, в чем заключается моя проблема, и как я могу решить эту проблему?
Кстати, я использую Python 3.4
Комментарии:
1.
time
является встроенным модулем, и, как указано в документации, «этот модуль всегда доступен». Происходит что-то подозрительное. У вас случайно нет файлаtime.py
, лежащего где-нибудь еще? В вашем приложении или в соответствующем каталоге, который может быть на вашем PYTHONPATH?2. Спасибо, я, должно быть, перепутал его для того, который я импортирую (datetime?) Не похоже, что у меня есть копия time.py на всей моей машине.
find -iname "time.py"
ничего не возвращает.3. Вы не найдете модуль time.py в обычном дистрибутиве Python, поскольку он встроен : это прямой интерфейс к библиотеке C. Вот почему он должен существовать. Причина, по которой он не может указать, может указывать на то, что он пытается импортировать модуль time из другого места (отсюда
time.py
вопрос о файле), что такое плохой файл, но здесь это не так.4. Установлен ли ваш virtualenv в
/var/MyServer
? Потому что обычно virtualenv устанавливается в домашнем каталоге, а не в/var/
. Кроме того, если вы устанавливаете и используете общесистемный uwsgi, вам больше не следует использовать virtualenv; деактивируйте его.