在 python 3.5 附带的 Ubuntu 16.04 上运行 python 3.7 的最佳方法

ben*_*nji 29 python ubuntu-16.04

我想避免向后移植,它们似乎总是弄乱我的包裹。

所以我在想像 conda / virtualenv / 甚至 docker 这样的工具都可以提供帮助。在我的系统上使用 python 3.7 的最简单/最干净的方法是什么?

Sn3*_*3t3 47

明智的做法是使用pyenv来安全地管理安装在同一系统上的多个 Python 版本。

尽管如此,这应该能让你在 Ubuntu 16.04 上使用 Python 3.7.10

# WARNING: As of April 30th 2021, Ubuntu Linux 16.04 LTS will no longer supported
# NOTE: It appears that Python 3.7.* has arrived into maintenance mode and will likely
# only be getting security updates.  See release notes https://www.python.org/downloads/release/python-3710/

# Install requirements
sudo apt-get install -y build-essential \
checkinstall \
libreadline-gplv2-dev \
libncursesw5-dev \
libssl-dev \
libsqlite3-dev \
tk-dev \
libgdbm-dev \
libc6-dev \
libbz2-dev \
zlib1g-dev \
openssl \
libffi-dev \
python3-dev \
python3-setuptools \
wget

# Prepare to build
mkdir /tmp/Python37
mkdir /tmp/Python37/Python-3.7.10
cd /tmp/Python37/

# Pull down Python 3.7.10, build, and install
wget https://www.python.org/ftp/python/3.7.10/Python-3.7.10.tar.xz
tar xvf Python-3.7.10.tar.xz -C /tmp/Python37
cd /tmp/Python37/Python-3.7.10/
./configure --enable-optimizations
sudo make altinstall
Run Code Online (Sandbox Code Playgroud)

然后你可以像这样调用 Python:

python3.7 ./yourScript.py
Run Code Online (Sandbox Code Playgroud)

这是一个 docker 容器中共存多个 Python 版本的截图,以及如何区分它们:

如何调用不同版本的Python

Pip 也应该与此安装一起安装。要安装软件包,请使用以下格式:

pip3.7 -V
Run Code Online (Sandbox Code Playgroud)

  • 这就像一个魅力。我能够安装python3.7。唯一需要注意的是使用 sudo make altinstall 因为普通用户无法访问目录。所有 apt-get 也都是使用 sudo 安装的。非常感谢您分享这些信息。 (2认同)

slh*_*hck 6

我不建议手动摆弄源代码安装和路径。使用pyenv并省去麻烦。

您所要做的就是:

  • 运行pyenv安装程序
  • 按照说明操作
  • 安装你需要的 Python 版本
  • 选择要用于给定目录或全局的 Python 版本

例如,要安装 3.7,请检查可用的版本:

pyenv install -l | grep 3.7
Run Code Online (Sandbox Code Playgroud)

然后运行:

pyenv install 3.7.1
Run Code Online (Sandbox Code Playgroud)

现在,您可以选择 Python 版本:

pyenv global 3.7.1
Run Code Online (Sandbox Code Playgroud)

这会将您python的指向切换到 3.7.1。如果你想要系统python,运行:

pyenv global system
Run Code Online (Sandbox Code Playgroud)

要检查哪些 Python 版本可用,请运行pyenv versions.