2

在对 settings.py 进行适当的更改后,即。我提到数据库名称为 sqlite3:python manage.py syncdb

它给出了以下错误

 Traceback (most recent call last):
   File "manage.py", line 8, in ?
     from django.core.management import execute_from_command_line
   File "/usr/lib/python2.4/site-packages/django/core/management/__init__.py", line 11, in ?
     get_version = django.get_version
 AttributeError: 'module' object has no attribute 'get_version'

请注意,我在 venv 目录中安装了 django,并且在此 virtualenv 目录中安装了 python。可能是什么问题呢?

4

1 回答 1

1

我认为您没有使用 virtualenv,或者您的 venv 可以访问系统包,这在某种程度上破坏了使用它们的优势之一。

创建一个 virtualenv 使用

$ virtualenv --no-site-packages --distribute -p python2.4 ~/my_venv

这将在您的主文件夹中创建一个 virtualenv,从而无法访问系统包。-p 开关让您选择您的 python 版本:如果您安装了更新的 python 版本,您应该使用它,否则您将只能使用 Django 1.3。见这里

接下来你需要激活它

$ source ~/my_venv/bin/activate
(my_venv) $

该新提示向您显示您现在正在使用您的 virtualenv。然后,您可以安装 Django(替换您需要或可以使用的那个版本)以及您需要的一切

$ pip install Django==1.3

每次你想使用你的 virtualenv 时,你都需要激活它。要再次使用默认 python 安装,请使用deactivate.

于 2013-06-04T20:04:34.770 回答