2017-02-28 156 views
0

我正在使用uwsgi和nginx在預先安裝了python包的RHEL上部署我的django應用程序。服務器全局安裝uwsgi和nginx(以root身份)。我的服務器沒有連接到互聯網。在虛擬環境中安裝站點包python

我已經安全地將我的django項目複製到此服務器中。對於最佳實踐,我被告知要使用虛擬環境,並且當我執行命令時,

virtualenv -p /usr/local/lib/python3.5/bin/python3.5 venv 

一切都很酷。它使用python 3.5創建一個虛擬環境。

但問題是,我需要這些預先安裝在服務器上的網站包到這個虛擬環境中。例如Django的,Redis的等等。當我做--system-site-packages中上面的命令,它拋出我這個錯誤

PermissionError: [Errno 13] Permission denied: '/usr/local/lib/python3.6/site-packages/wheel-0.29.0.dist-info'

有一個更清潔的方式來做到這一點或者是走錯了`?

回答

0

你可以試試:

$ pip freeze 

其中PIP是系統範圍pip。如果輸出什麼,然後就去做:

$ pip freeze > requirements.txt; 
$ source /path/to/venv/bin/activate && pip install -r requirements.txt; 

這樣,你會告訴虛擬環境的點子來安裝已安裝全系統所有Python包。

如果pip freeze不起作用,這是一個privilleges問題,你必須詳細說明這個/與管理員。

UPD:您可能需要安裝額外的軟件包作爲python3-dev,構建基本等pip install -r requirements.txt工作。

0

這可能是因爲您的機器中存在另一個用戶而發生的。請檢查您是否具有系統權限,如果不是編輯該文件的屬性並授予其權限。

相關問題