Bash无法通过SSH远程创建venv(python3 -m ven venv)[duplicate]

cyej8jka  于 2023-05-02  发布在  Python
关注(0)|答案(1)|浏览(131)

此问题已在此处有答案

How to install python3.7 and create a virtualenv with pip on Ubuntu 18.04?(2个答案)
6天前关闭。
我正在尝试使用“python3 -m venv venv”远程创建venv。然而,它失败了:

> ssh sv3-01 "python3 -m venv venv"
Error: Command '['/home/ubuntu/venv/bin/python3', '-m', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1.

FYI:

  • ssh config已正确设置sv 3 -01配置并正常工作
  • ssh sv 3 -01“ls -lah”工作正常,从sv 3 -01远程服务器返回通常的ls文件列表
  • 直接在sv 3 -01服务器上执行“python3 -m venv venv”绝对可以正常工作。Python3-dev和python3-venv已经成功安装在服务器上。

我做错了什么?

nxowjjhe

nxowjjhe1#

我找到的解决方案是像这样添加“--without-pip”

ssh sv3-01 "python3 -m venv --without-pip venv"

原因是 python3 -m venv 还执行 * 自动pip安装 *,当远程执行时会失败。我不知道根本原因,但根本原因在这种情况下并不重要。

排除python3 -m venv中的自动pip安装(显然没有pip)。为了缓解pip的缺失,我在远程ssh调用中添加了额外的命令:

ssh sv3-01 "sudo apt-get -y install pip"

它可以合并到一个Liner中:

ssh sv3-01 "cd /desired_path && python3 -m venv --without-pip venv && sudo apt-get -y -qq install pip"

瞧!

相关问题