2013-10-28 281 views
4

我試圖用pip在ubuntu上安裝django。但不幸的是我得到這樣的錯誤。有人可以解釋這一點,並告訴我一些方法來解決這個問題?django安裝:不能使用pip在linux上安裝django(ubuntu)

error: could not create '/usr/local/lib/python2.7/dist-packages/django': Permission denied 

---------------------------------------- 
Command /usr/bin/python -c "import setuptools;__file__='/home/franklingu/build/django /setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --single-version-externally-managed --record /tmp/pip-W5MhGe-record/install-record.txt failed with error code 1 
Storing complete log in /home/franklingu/.pip/pip.log 

回答

13

不要使用sudo使用一個虛擬的環境,而不是像這樣:

$ sudo apt-get install python-virtualenv 
$ mkvirtualenv django_env 
$ source django_env/bin/activate 
(django_env) $ pip install django 
(django_env) $ cd $HOME 
(django_env) $ mkdir projects 
(django_env) $ cd projects 
(django_env)/projects $ django-admin.py startproject foo 
(django_env)/projects $ cd foo 
(django_env)/projects/foo $ python manage.py runserver 

當您完成;鍵入deactivate退出虛擬環境:

(django_env)/projects/foo $ deactivate 
/projects/foo $ 
+1

通常情況下,這可能比它的價值更麻煩。但我同意虛擬環境是一個有用的工具。 –

+0

這是爲什麼?據我所知,虛擬env應該更安全? –

+0

@RobertMcGibbon從來沒有更多的麻煩;而且這些好處遠遠超過我在這裏提到的。 –

9

改爲嘗試sudo pip install django

+0

謝謝...因爲這個錯誤是「權限被拒絕」,那麼我們應該使用sudo作爲超級用戶? –

+3

是的。另一種選擇是創建一個「虛擬環境」,您可以在其中安裝不在系統目錄中的軟件包。例如,如果您在需要不同版本的django的多個項目上工作,這很有用。 http://docs.python.org/dev/library/venv.html –

+3

奇怪的是,但它不適用於我與virutalenv,我virtualenv激活,但簡單的點子安裝嘗試訪問全局系統目錄。這在4年之前從未發生過。 – Evgeny

3

您正在試圖安裝Django的位置「USR/local/lib目錄/ ...」是根owanership location.So對每一個指令,你將需要 須藤。

取而代之的是,你可以按照以下STPES

1.安裝vitrual環境

$ sudo pip install virtualenv 

2.創建虛擬ENV

$ virtualenv -p python3 testEnv 

(不要使用sudo的這將使環境我在創建python 3環境)

3.Activat e。使用下面的命令,env中

$ source testEnv/bin/activate 

4.使用命令

$ pip install django 

5.使用follwing命令可以查看已安裝的軟件包在這種環境

$ pip freeze 

安裝Django注意:最好使用沒有sudo的pip命令。如果我們使用的是sudo,那麼軟件包將會變成root擁有者