2013-10-04 3 views
0

Так что я играл с python (2.7.x) и картой django на моем ubuntu (12.04). Проект основан способ установки я Джанго является использованием virtualenvУстановка Django с использованием Virtualenv прошла неправильно

Что я сделал это, как этот

** FROM TERMINAL ** 
1. sudo apt-get install python-setuptools 
2. sudo easy_install virtualenv 

Тогда я продолжить создание моего каталога для моего Джанго проекта с помощью следующей команды:

virtualenv --no-site-packages project-name 

Вскоре после этого, я активировал свою virtualenv:

source project-name/bin/activate 

Тогда я по-прежнему с рамки установки Django с помощью этого:

sudo easy_install Django 

и убедитесь, что рамки Django установлен в моей virtualenv, проверяя есть файл под названием django-admin.py под именем проекта/bin/директории (которая существует).

Однако во второй раз, когда я попытался создать еще один проект django (совершенно другой), следуя тому же точному шагу, что и выше, у меня нет django-admin.py, установленного в правильном каталоге. Это будет установлено в/USR/Lib/питон ...

И когда я попытался запустить приложение я получаю сообщение:

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 

Кто-нибудь знает, почему это происходит?

Спасибо.

* EDITED ЧАСТЬ *

отвечая на sachitad Ответим

я получаю следующее сообщение, когда я выполнил его/ее предложение

(project-name)[email protected]:~/Documents/python/project-name$ easy_install django 
error: can't create or remove files in install directory 

The following error occurred while trying to add or remove files in the 
installation directory: 

[Errno 13] Permission denied: '/home/blah/Documents/python/project-name/lib/python2.7/site-packages/test-easy-install-3775.write-test' 

В каталоге установки вы указали (с помощью - install-dir, --prefix или настройка по умолчанию для distutils):

/home/blah/Documents/python/project-name/lib/python2.7/site-packages/ 

вот почему я сначала подумал, что мне нужно использовать команду sudo.

ответ

2

В дополнение к sachitad ответ, я предлагаю вам взглянуть на virtualenvwrapper, которые позволяют вам управлять легко вы virutal окр с командами, как:

mkvirtualenv your_project_name // create a virtual environment 
workon your_project_name // select this virtual environment 

pip install django // will install in this virtualenv 
+0

Нужно ли мне устанавливать pip или easy_install внутри этой виртуальной среды? – Jeremy

+0

Вы можете использовать 'pip' или' easy_install' для установки пакетов python внутри или снаружи 'virtualenv.' Я рекомендую' pip', поскольку он имеет несколько преимуществ перед 'easy_install'. – sachitad

+0

Итак, я по умолчанию отказался от virtualenv --no-site-packages и решил использовать ваше решение. Он работает с некоторой настройкой (как описано на сайте virtualenvwrapper). Приветственный помощник. – Jeremy

3

Проблема:

sudo easy_install Django 

Даже если вы активировали virtualenv, при установке пакетов внутри virtualenv, никогда никогда использования sudo. Если вы используете sudo, предполагается, что вы устанавливаете по системному пути (/usr/lib/local/..).

Таким образом,

easy_install django 

ИЛИ

pip install django 

должен работать.

+0

привет, пожалуйста, посмотрите мою отредактированную часть вопроса. – Jeremy

+1

Это его :) О, ну, оказывается, у вашего каталога проекта внутри нет доступа на запись. Дайте доступ на запись, и все будет в порядке. 'chmod -R u + rw project_name' – sachitad

+0

Я получаю кучу сообщений вроде этого chmod: изменение разрешений' project-name/local ': операция не разрешена Когда я сделал ls -l, это то, что я get drwxr-xr-x 6 root root 4096 Okt 4 13:45 project-name – Jeremy

0

./home/user/path_to_virtual_env_project_/bin/pip install Django

вы вызываете pip, который не в виртуальном env. Кажется, активация не работает.

Смежные вопросы