我知道在我的系统上使用 root 权限从源代码构建软件通常会导致各种问题,而安装任何东西的首选方式是使用数据包管理系统(首先是 apt-get,然后是 dpkg)。
但是,我需要一些只能使用 pip 安装的 python 程序。我尝试过使用pip install --install-option="--prefix=/apps/"
,但似乎在这种情况下 pip 也想要写入/lib/python2.7/
系统文件夹。
有没有办法用 pip 安装软件,而不会损坏或用非托管文件污染我的系统?
答案1
Python 虚拟环境创建器 (python-virtualenv) 允许您创建一个沙盒隔离环境,其中可以安装 Python 软件包而不会干扰同一台计算机上的其他软件包。使用多个虚拟环境,许多具有不同甚至相互排斥的依赖关系的不同 Python 软件可以共存。您可以从当前支持的所有 Ubuntu 版本的默认 Ubuntu 存储库安装 python-virtualenv。
在您的主目录的任何地方为 Python 设置一个虚拟环境,从终端激活您的 Python 虚拟环境,然后以普通用户身份使用 在您的虚拟环境中本地安装您需要通过 pip 安装的任何软件包pip install
。
安装 Python 虚拟环境创建者(虚拟环境):
sudo apt install python-virtualenv virtualenv # still works in 22.04
为 Python 虚拟环境创建一个新目录(在此示例中,我将其称为 PythonVirtualEnv),并使用 Python 和 pip 设置 Python 虚拟环境。
cd ~
mkdir PythonVirtualEnv
virtualenv PythonVirtualEnv
- 安装一些软件包。
cd ~/PythonVirtualEnv
source bin/activate
python -m pip install <insert-name-of-package-here>
离开 Python 虚拟环境之前,请先停用它。
deactivate
使用自定义 Python 解释器创建环境
sudo apt install python3-virtualenv
cd ~
mkdir Python3VirtualEnv
virtualenv --python=/usr/bin/python3 Python3VirtualEnv # /usr/bin/python3 is the default location of the python3 executable
cd ~/Python3VirtualEnv
source bin/activate
python3 -m pip install <insert-name-of-package-here>