我使用python安装程序(从 www.python.org 下载)来安装python3.8和python 3.9。是否可以在不同的项目之间切换它们?我认为 pyenv 不会在这里工作(还),因为 pyenv 只能切换它安装的版本。 https://github.com/pyenv/pyenv/issues/1628 证实了这一点。
例如,当我的机器上运行pyenv versions
时
➤ pyenv versions
* system (set by /Users/qiulang/.pyenv/version)
3.4.0
3.5.3
3.6.10
那里的系统版本是python3.9。
我的大多数 python 脚本都需要 3.8,因为我使用了 3.8 下的pip3 install
包。
我安装了 3.9来体验最新功能,但我不会将 3.9 作为我的默认 python3,否则我需要重新安装软件包。
现在我找不到一种方法来做到这一点,所以我不得不将我的脚本从
#! /usr/bin/env python3
#! /usr/local/bin/python3.8
作为临时解决方案。
大约一周前我遇到了同样的问题。pyenv
有一个扩展名为pyenv-register。 我安装了它,并用它来注册我的每个Homebrew安装的Python版本。 这为您注册的每个 Python 提供了一个pyenv
版本,看起来像system-3.9.0
.
在注册了Homebrew安装的Python版本后,我在~/.pyenv/versions
中创建了符号链接,以便为我注册的每个版本创建一些更简单的别名。 以下是该目录在我的系统上的外观:
lrwxr-xr-x 1 steve staff 6 Jun 23 2019 2 -> 2.7.16
lrwxr-xr-x 1 steve staff 6 Jun 23 2019 2.7 -> 2.7.16
drwxr-xr-x 6 steve staff 192 Jun 23 2019 2.7.16
lrwxr-xr-x 1 steve staff 5 Jun 23 2019 3 -> 3.7.3
lrwxr-xr-x 1 steve staff 5 Jun 23 2019 3.7 -> 3.7.3
drwxr-xr-x 6 steve staff 192 Jun 23 2019 3.7.3
lrwxr-xr-x 1 steve staff 5 Nov 14 14:51 3.8 -> 3.8.6
lrwxr-xr-x 1 steve staff 12 Nov 14 14:51 3.8.6 -> system-3.8.6
lrwxr-xr-x 1 steve staff 5 Nov 14 14:51 3.9 -> 3.9.0
lrwxr-xr-x 1 steve staff 12 Nov 14 14:51 3.9.0 -> system-3.9.0
drwxr-xr-x 6 steve staff 192 Nov 14 14:48 system-3.8.6
drwxr-xr-x 6 steve staff 192 Nov 14 14:50 system-3.9.0
这是pyenv versions
给我的:
% pyenv versions
system
2
2.7
2.7.16
* 3 (set by /Users/steve/.pyenv/version)
3.7
3.7.3
3.8
3.8.6
3.9
3.9.0
system-3.8.6
system-3.9.0
这对我来说非常有用,因为我已经用Homebrew安装了我的新Python。 我假设它也适用于使用下载的安装程序安装的 Python 版本。 我希望这对您有所帮助!