当我尝试在虚拟环境中使用pip3
命令安装软件包时,我发现了以下问题。
source /bin/activate ##activate virtualenv
pip3 install aiohttp ##
错误:由于EnvironmentError导致无法安装软件包:[Errno 13]权限被拒绝:'/ home / yxs / venv / py34 / lib64 / python3.4 / site-packages / manydict'考虑使用
--user
选项或检查权限。
pip3 install --user aiohttp
错误:无法执行'--user'安装。用户站点包在此virtualenv中不可见。
所以,我尝试了sudo pip3 install aiohttp
,当我用pip3 list
检查时,我发现系统中安装了aiohttp。东阳
(py34) [yxs@yxs ~]$pip3 list ## no package named aiohttp
[yxs@yxs ~]$pip3 list ## found aiohttp
如何在virtualenv中安装软件包?
编辑:
操作系统是CentOS7.5,默认的Python版本是2.7,我通过epel-realse安装了python3.4,通过get-pip.py安装了pip3。
我想问题是我必须使用命令sudo
来安装,但是这个命令将离开virtualenv环境。就像下面这样,但我不知道如何解决这个问题。顺便说一句,这些操作在tmux会话中被执行。
(py34)[yxs @ yxs~] $ su - root
密码:
上次登录时间:Wed Sep 19 12:07:23 CST 2018 on pts / 2
[root @ yxs~]#
总而言之,我只能通过命令pip install
使用root将软件包安装到virtualenv中
Source /bin/activate
意味着你正在使用unix / linux的/bin
根目录。当你使用python 3.为什么不使用python的内置venv
模块。将.env
目录添加到.gitignore
文件中。
用法
python3 -m venv .env
source .env/bin/activate
pip install django
pip freeze > requirements.txt