没有名为 core.management 的模块



首先,我知道所有互联网上都有很多这样的帖子,我尝试了所有方法,但没有用。

我也有一些关于它的理论问题。

我在 Virtualenv 中运行我的 Django 安装,所以我输入:

 sudo apt-get install python-setuptools
 virtualenv --no-site-packages djangito
 source djangito/bin/activate
 (djangito)cd djangito/
 (djangito)easy_install Django // V.1.6
 (djangito)django-admin.py startproject django_test

但是当我尝试运行我的运行服务器时,会发生以下情况:

 (djangito)root@marcproves:~/djangito/django_test# python manage.py runserver
 Traceback (most recent call last):
 File "manage.py", line 8, in <module>
 from django.core.management import execute_from_command_line
 ImportError: No module named django.core.management

 (djangito)root@marcproves:~/djangito/django_test# sudo python manage.py runserver
  Validating models...
  0 errors found
  February 20, 2014 - 09:25:14
  Django version 1.6, using settings 'django_test.settings'
  Starting development server at http://127.0.0.1:8000/
  Quit the server with CONTROL-C.

它与sudo一起运行,但是....使用 sudo python 从 VirtualEnv 运行 python manage.py runserver 吗?

我知道virtualenv是一种使用独立包的东西,但我不知道我是否错过了一些重要的东西。

我需要了解为什么会这样

谢谢

尝试使用 pip 而不是轻松安装。每个 virtualenv 都默认安装了它(以及包含 easy_install 的 setuptools),这是在 virtualenv 中安装软件包的推荐方法。

racech@CONFIG0001:~$ sudo apt-get install python-virtualenv
[...]
racech@CONFIG0001:~$ virtualenv test
New python executable in test/bin/python
Installing distribute.....done.
Installing pip...............done.
racech@CONFIG0001:~$ source test/bin/activate
(test)racech@CONFIG0001:~$ pip install django
[...]
Successfully installed django
Cleaning up...
(test)racech@CONFIG0001:~$ django-admin.py startproject testproject
(test)racech@CONFIG0001:~$ cd testproject/
(test)racech@CONFIG0001:~/testproject$ python manage.py runserver
Validating models...
0 errors found
February 20, 2014 - 10:12:51
Django version 1.6.2, using settings 'testproject.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

至于解释,看起来easy_install不是将Django安装到你的virtualenv中,而是安装到你的系统Python中。您可以通过使用不同版本的 Python 创建一个新的 virtualenv 来检查这一点。使用非默认的 Python 二进制文件(如果使用 2.x 则为 3.x,如果使用 3.x 作为默认值,则为 2.x)创建一个 Virtualenv

virtualenv --python=/usr/bin/python3.2 myvirtualenv

然后通过检查

python --version
sudo python --version

它们应该是不同的。Virtualenv 仅为激活它的用户替换默认的 Python 环境。因此,easy_install必须使用系统Python而不是virtualenv。也许你也用sudo运行过它?

相关内容

  • 没有找到相关文章

最新更新