在我格式化笔记本电脑之前,我剪切了&将我的Django项目(包含mysite和myvenv文件夹的文件夹)粘贴到另一个分区。它是在python 2.7上构建的,使用的是虚拟环境和Django 1.7。
现在我有了python 3.4,在激活虚拟环境并运行后:
$ python manage.py makemigrations
我收到此错误:
Traceback (most recent call last):
File "manage.py", line 12, in <module>
from django.core.management import execute_from_command_line
ImportError: No module named django.core.management
所以我尝试并安装了python2.7但仍然遇到了同样的错误。
有没有办法纠正我的项目发生的事情,如果没有,我需要你的建议,如何在不破坏的情况下移动Django项目的最佳实践?
答案 0 :(得分:1)
您应该只传输一个requirements.txt文件,该文件包含已安装的pip冻结列表,并且永远不会自行传输虚拟环境。
我会删除虚拟环境并创建一个新环境。然后从新的那个确保您安装所有必需的依赖项。
virtualenv env --python=python2.7
source env/bin/activate
pip install django
pip freeze > requirements.txt
python manage.py makemigrations
答案 1 :(得分:0)
我的猜测是你的manage.py配置不正确。第一行必须定义Python exec来运行脚本,而不是像/user/bin/python
这样的其他位置。如果设置为/user/bin/python
,您几乎肯定会丢失某些包。确保您指定的路径是virtualenv python位置。