Приложения Virtualenv и Django плохо играют вместе - PullRequest
3 голосов
/ 06 ноября 2010

Я решил, что пришло время перейти к virtualenv для моих проектов django.Все работает хорошо, кроме одного.Несмотря на то, что приложения, установленные с помощью pip в my virtualenv, можно без проблем импортировать в мой проект, любые .urls, шаблоны, теги шаблонов и т. Д. В этих приложениях не обнаруживаются при запуске сервера dev.

Я проверилмой путь к Python в среде и каталог site-packages с моими установками находятся в пути.

Кто-нибудь знает, что я могу делать неправильно?

--- добавлена ​​информация ---

Поскольку у меня все еще есть проблемы, я добавляю больше информации в этот тикет,Я уверен, что это то, что я делаю, просто не могу понять, что это такое.Начиная со свежей среды, протестированной как на Ubuntu, так и на OSX.

virtualenv --no-site-packages testpjt

Затем я использую pip для добавления только django и django smuggler.Вот текст требований

-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

Добавление контрабандиста в установленные приложения:

    INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.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 (dump, любой из URL-адресов контрабандиста), и я получаю 404.

Для тестирования я могу войти в оболочку django и:

from smuggler import urls

и не получить ошибок, поэтому я знаю, что они есть.

Если я положу копию контрабандиста в базу каталога моего проекта, все будет работать нормально.

Ответы [ 2 ]

0 голосов
/ 08 сентября 2015

Проблема может заключаться в том, что вы устанавливаете django-smuggler вне виртуальной среды.

Сначала активируйте виртуальную среду. Затем установите django-smuggler в virtual-env, и он должен работать нормально.

0 голосов
/ 06 ноября 2010

Вы активируете виртуальную среду перед запуском dev-сервера, верно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...