为什么Django开发版不知道我的软件包在哪里?

时间:2014-01-23 07:32:13

标签: python django git tastypie sorl-thumbnail

我曾经使用Django的稳定版本(1.6)开发Django应用程序我使用sudo apt-get install python-django安装在Ubuntu上,我还使用了Django包sorl-thumbnail和{ {1}}。

我之前想切换到使用tastypie的开发版本,所以我按照文档中的说明安装了它:

  1. Django
  2. git clone git://github.com/django/django.git django-trunk
  3. 在我的计算机上,sudo pip install -e django-trunk/现在位于Django

    然而,当我回到我的~/git/django-trunk项目目录并运行Django时,我似乎得到了:

    python manage.py syncdb

    这是因为Traceback (most recent call last): File "manage.py", line 10, in <module> execute_from_command_line(sys.argv) File "/home/$USER/git/django-trunk/django/core/management/__init__.py", line 427, in execute_from_command_line utility.execute() File "/home/$USER/git/django-trunk/django/core/management/__init__.py", line 391, in execute django.setup() File "/home/$USER/git/django-trunk/django/__init__.py", line 21, in setup apps.populate(settings.INSTALLED_APPS) File "/home/$USER/git/django-trunk/django/apps/registry.py", line 84, in populate app_config = AppConfig.create(entry) File "/home/$USER/git/django-trunk/django/apps/base.py", line 86, in create "cannot import name '%s' from '%s'" % (cls_name, mod_path)) ImportError: cannot import name 'thumbnail' from 'sorl' 不再知道我安装的Django个应用的位置了吗?

    如果有帮助,我认为他们在Django ......

    如何修复此错误并让我的所有/usr/local/lib/python2.7/dist-packages个应用与开发版一起使用?我是否只需将Django git clone开发版本Django转换为/usr/local/lib/python2.7/dist-packages或其他内容?

    非常感谢任何帮助,非常感谢您!

1 个答案:

答案 0 :(得分:1)

您需要使用虚拟环境,并在每个虚拟环境中安装项目的依赖项。

这样,Python解释器可以随时访问所需的库。开始使用:

sudo apt-get install -y python-virtualenv

这将安装任何所需的库以使virtualenv起作用;然后为每个项目开始创建一个全新的虚拟环境。所有这些命令都以普通用户身份运行(没有sudo):

$ virtualenv django_env
$ source django_env/bin/activate
(django_env) $ pip install django tastypie solr-thumbnail

键入activate将激活环境,因此shell将指向正确的Python版本。您会注意到(django_env)表示环境当前处于活动状态。

从现在开始,您安装的任何内容都将在此虚拟环境中仅安装 。完成工作后,键入deactivate将返回系统Python环境:

(django_env) $ deactivate
$