一个问题very similar to this one已经存在,但它是关于python2的。In another related question用户没有激活他们的虚拟环境。是的。在
当我在一个更大的项目中遇到这个问题后,我尝试并成功地将其复制到一个全新的项目中。在
在empty folder test django中,我运行了以下命令:
virtualenv env
env/scripts/activate
pip install django
为了确保python成功地安装了django,我尝试了:
^{pr2}$Python版本
所以我开始了这个项目。。。在
django-admin startproject test
项目测试确实创建成功。然后我跑了:
cd test
./manage.py
得到了
File "test-django\test\manage.py", line 14 ) from exc ^ SyntaxError: invalid syntax
内容管理.py是:
#!/usr/bin/env python
import os
import sys
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "phoenix2.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(sys.argv)
当我删除“from exc”时,ImportError被成功地引发——但是我不应该得到一个ImportError,它是在安装了django的虚拟环境中运行的。在
我试着运行(从命令行中的Python)
from django.core.management import execute_from_command_line
却没有得到强求
内容系统路径在虚拟环境中:
['', '\test-django\env\Scripts\python36.zip', '\test-django\env\DLLs', '\temp\test-django\env\lib', '\test-django\env\Scripts', 'c:\python36\Lib', 'c:\python36\DLLs', '\test-django\env', '\test-django\env\lib\site-packages']
运行django-admin——版本:2.0.5
如果有帮助,下面是通用系统python的路径内容:
['', 'C:\Python36\python36.zip', 'C:\Python36\DLLs', 'C:\Python36\lib', 'C:\Python36', 'C:\Python36\lib\site-packages']
virtualenv中的pip冻结:
Django==2.0.5 pytz==2018.4
python中的pip freeze:
appdirs==1.4.3 lxml==4.0.0 packaging==16.8 pyparsing==2.2.0 six==1.10.0 virtualenv==15.1.0
通过运行python
./manage.py
而不仅仅是./manage.py
来修复这个问题不如运行
python3 manage.py
而不是./manage.py
?在我建议使用
pipenv
而不是virtualenv+pip。在相关问题 更多 >
编程相关推荐