如何“对齐”python、pip 和环境?我正在尝试在 ubuntu VPS 上安装 certbot

如何“对齐”python、pip 和环境?我正在尝试在 ubuntu VPS 上安装 certbot

Ubuntu 20.04虚拟专用服务器在 hostinger 上

$ whereis python  
python: /usr/bin/python2.7 /usr/bin/python /usr/bin/python3.8 /usr/bin/python3.9 /usr/bin/python3.8-config /usr/lib/python2.7 /usr/lib/python3.8 /usr/lib/python3.9 /etc/python2.7 /etc/python3.8 /etc/python3.9 /usr/local/lib/python2.7 /usr/local/lib/python3.8 /usr/local/lib/python3.9 /usr/include/python3.8 /usr/share/python /opt/certbot/bin/python  
  
$ whereis pip  
pip: /usr/local/bin/pip /usr/local/bin/pip3.9 /usr/local/bin/pip3.8 /usr/share/man/man1/pip.1.gz

我的服务器上是否安装了 3 个不同版本的 python 的多个实例?我似乎在使用 pip 和 pip3 时遇到了问题。我尝试这样做,但只得到错误:
https://certbot.eff.org/instructions?ws=other&os=pip

$ sudo python3 -m venv /opt/certbot/  
Command '['/opt/certbot/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1.  

但创建了文件夹 /opt/certbot 及其子目录。创建了文件夹 /opt/certbot/bin/,但未创建 /opt/certbot/bin/pip。

$ sudo /opt/certbot/bin/pip install --upgrade pip  
/opt/certbot/bin/pip: command not found  

我怎样才能使这个命令起作用?

sudo /opt/certbot/bin/pip install --upgrade pip

答案1

要创建新的 venv,我需要从 apt 安装 python3-venv

sudo apt install python3-venv

当我跑的时候python3 -m venv [venv dir]

它产生了这个错误

The virtual environment was not created successfully because ensurepip is not
available.  On Debian/Ubuntu systems, you need to install the python3-venv
package using the following command.

    apt install python3.10-venv

You may need to use sudo with that command.  After installing the python3-venv
package, recreate your virtual environment.

Failing command: ['/home/wsl2/user_venv/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']

更通用的软件包 python3-venv 可能比 seguested 更适合安装python3.10-venv

答案2

我的服务器上是否安装了 3 个不同版本的 Python 的多个实例?

是的,

Ubuntu 附带 Python 3,但某些应用程序需要 Python 2 或其他版本的 Python 3.x 或 2.x。

PIP 是特定安装程序的软链接。pip3 是 pip 的更新版本,主要用于 Python 3+

您忘了运行这个了吗?

sudo apt install python3 python3-venv libaugeas0

相关内容