Virtualenv和Django应用程序不能很好地融合在一起

时间:2010-11-06 16:05:00

标签: django virtualenv

我已经决定是时候转向virtualenv为我的django项目了。一切都很好,除了一件事。即使使用pip安装到我的virtualenv中的应用程序也可以毫无问题地导入到我的项目中,但在运行开发服务器时找不到这些应用程序中的任何.urls,模板,模板标签等。

我在环境中检查了我的python路径,并且我的安装的site-packages目录位于路径中。

任何人都知道我可能做错了什么?

---添加信息---

由于我仍然遇到问题,我正在为此故障单添加更多信息。我确信这是我正在做的事情,只是无法弄清楚它是什么。从新环境开始,在ubuntu和osx上进行测试。

virtualenv --no-site-packages testpjt

然后我用pip添加django和django走私者。这是需求文本

-e svn+http://code.djangoproject.com/svn/django/trunk#egg=Django
django-smuggler==0.1.1-final

然后我用pip

安装需求
pip install -E testpjt -r requirements.txt

每件事似乎安装得很好。所以我启动虚拟环境并对文件进行以下更改:

source ../bin/activate

将smuggler添加到已安装的应用中:

    INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.admin',
    'smuggler',
)

将admin和smuggler添加到urls.py

from django.conf.urls.defaults import *

from django.contrib import admin
admin.autodiscover()

    urlpatterns = patterns('',
        (r'^admin/', include('smuggler.urls')),
        (r'^admin/', include(admin.site.urls)),
    )

然后我同步数据库并启动服务器:

../bin/python manage.py runserver 0.0.0.0:8000

我可以去ip / admin,我得到管理界面..我去ip / admin / load(转储,任何走私者网址),我得到404.

为了测试我可以进入django shell并且:

from smuggler import urls

并且没有错误,所以我知道他们在那里。

如果我把一个走私者的副本放在我的项目目录的基础上,那就可以了。

2 个答案:

答案 0 :(得分:0)

您是在正确运行开发服务器之前激活虚拟环境吗?

答案 1 :(得分:0)

这里的问题可能是您在virtual-env之外安装django-smuggler。

首先激活virtual-env。 然后在virtual-env中安装django-smuggler,它应该可以正常工作。