在虚拟环境python中安装站点软件包

在虚拟环境python中安装站点软件包,python,django,nginx,virtualenv,Python,Django,Nginx,Virtualenv,我正在使用uwsgi和nginx在预装python包的RHEL上部署我的django应用程序。服务器全局安装了uwsgi和nginx(作为根用户)。我的服务器未连接到internet 我已在此服务器中安全复制了我的django项目。为了获得最佳实践,我被告知使用虚拟环境,当我执行命令时 virtualenv -p /usr/local/lib/python3.5/bin/python3.5 venv 一切都很酷。它使用python 3.5创建了一个虚拟环境 但问题是,我需要将这些预先安装在服务

我正在使用uwsgi和nginx在预装python包的RHEL上部署我的django应用程序。服务器全局安装了uwsgi和nginx(作为根用户)。我的服务器未连接到internet

我已在此服务器中安全复制了我的django项目。为了获得最佳实践,我被告知使用虚拟环境,当我执行命令时

virtualenv -p /usr/local/lib/python3.5/bin/python3.5 venv
一切都很酷。它使用python 3.5创建了一个虚拟环境

但问题是,我需要将这些预先安装在服务器上的站点包安装到这个虚拟环境中。示例django、redis等。当我使用--系统站点包执行上述命令时,它会抛出此错误

PermissionError:[Errno 13]权限被拒绝: “/usr/local/lib/python3.6/site packages/wheel-0.29.0.dist info”


是否有更干净的方法来执行此操作,或者哪里出了问题?

这可能是因为您的计算机中存在其他用户。只需检查您是否具有系统权限,如果没有,请编辑文件的属性并授予其权限。

您可以尝试:

$ pip freeze
其中,pip是系统范围的
pip
。如果它输出任何内容,则只需执行以下操作:

$ pip freeze > requirements.txt;
$ source /path/to/venv/bin/activate && pip install -r requirements.txt;
通过这种方式,您将告诉虚拟环境的pip安装系统范围内安装的所有python包

如果
pip freeze
不起作用,这是一个隐私问题,您必须与管理员详细说明

UPD:您可能需要安装其他软件包,如python3 dev、build essential等,以便
pip安装-r requirements.txt
正常工作