我想安装 python 3.10,但 pyenv 版本列表中没有该版本。通过检查pyenv install --list。人们建议升级 pyenv,但我没有看到与更新 pyenv 相关的帮助。
我正在尝试运行一个需要 python < 3.7 的旧应用程序。我目前使用的是python 3.9并且需要使用多个版本的python。
我已经安装pyenv-virtualenv并pyenv成功安装了 python 3.7.13。但是,当我尝试安装 3.6.* 时,我得到以下信息:
$ pyenv install 3.6.13
python-build: use openssl@1.1 from homebrew
python-build: use readline from homebrew
Downloading Python-3.6.13.tar.xz...
-> https://www.python.org/ftp/python/3.6.13/Python-3.6.13.tar.xz
Installing Python-3.6.13...
python-build: use tcl-tk from homebrew
python-build: use readline from homebrew
python-build: use zlib from xcode sdk
BUILD FAILED (OS X 12.3.1 using python-build 2.2.5-11-gf0f2cdd1)
Inspect or clean up the working tree at /var/folders/r5/xz73mp557w30h289rr6trb800000gp/T/python-build.20220413143259.33773
Results logged to /var/folders/r5/xz73mp557w30h289rr6trb800000gp/T/python-build.20220413143259.33773.log
Last 10 log lines:
checking for --with-cxx-main=<compiler>... no …Run Code Online (Sandbox Code Playgroud) 我已经使用 pyenv 近两年了,在运行 RHEL 8.3(Linux 内核 4.18)和 X11 模式下的 Gnome 3.32.2 的系统上没有出现任何问题。我主要使用鱼壳,但偶尔也会使用 bash,直到现在都可以与 pyenv 一起使用。但是,在pyenv update大约 24 小时前运行后,使用该pyenv activate命令激活我创建的虚拟环境之一不再设置路径以使用我在该虚拟环境中安装的内容。
当我开始终端会话时,我看到一条新消息:
WARNING: `pyenv init -` no longer sets PATH.
Run `pyenv init` to see the necessary changes to make to your configuration.
Run Code Online (Sandbox Code Playgroud)
所以我跑了pyenv init它告诉我:
# Add pyenv executable to PATH by adding
# the following to ~/.profile:
set -Ux PYENV_ROOT $HOME/.pyenv
set -Ux fish_user_paths $PYENV_ROOT/bin $fish_user_paths
# Load pyenv automatically by appending
# the following …Run Code Online (Sandbox Code Playgroud) 编辑:我发现的评论或其他答案中建议的答案主要适用于 linux 或使用 brew 安装的默认 python。我面临的问题是使用 pyenv 安装的 python 版本
当我尝试使用 pip 安装任何软件包时,我收到此错误消息
WARNING: pip is configured with locations that require TLS/SSL, however the SSL module in Python is not available.
Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the SSL certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with URL: /simple/pip/ (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.")) - skipping
Run Code Online (Sandbox Code Playgroud)
我正在使用 pyenv、pyenv-virtualenv,我正在尝试使用 python 3.7.0 在 virtualenv 中安装软件包。几天前它运行良好,我怀疑将我的 macOS 更新到 10.14.6 导致了这个问题。 …
使用 pyenv 2.0.3
当我位于包含 python-version 文件的文件夹中时,python 继续使用系统版本 2.7.6。(不知道为什么是2.7.6,因为我通过brew安装了3.9.7)。
$ python -V
Python 2.7.16
Run Code Online (Sandbox Code Playgroud)
通过 pyenv 查找给出
$ pyenv which python
/Users/jaco/.pyenv/versions/trading/bin/python
Run Code Online (Sandbox Code Playgroud)
激活它已经表明它已激活。
我有
# pyenv
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
Run Code Online (Sandbox Code Playgroud)
在我的 zshrc 中
好像也没有pyenv的bin文件夹?这是 v2 上的新功能吗?
$ l /Users/jaco/.pyenv/bin
ls: /Users/jaco/.pyenv/bin: No such file or directory
Run Code Online (Sandbox Code Playgroud)
同样设置pyenv global 3.9.1不起作用,它保持2.7
每次创建新的 .venv 时,我都会尝试阻止此警告:
> /Users/pi/.pyenv/versions/3.10.0/bin/python -m venv .venv
> . .venv/bin/activate
> pip install ipykernel # or anything
WARNING: You are using pip version 21.2.3; however, version 22.2.2 is available.
You should consider upgrading via the '/Users/pi/code/foo/.venv/bin/python -m pip install --upgrade pip' command.
Run Code Online (Sandbox Code Playgroud)
不知何故,pyenv我的新 .venv 中填充了一个过时的点。
如果我执行建议的命令,它将升级我的 .venv 的 pip。但我不想每次创建 .venv 时都这样做。
我认为这可能会解决它,但事实并非如此:
> /Users/pi/.pyenv/versions/3.10.0/bin/python -m pip install --upgrade pip
Requirement already satisfied: pip in /Users/pi/.pyenv/versions/3.10.0/lib/python3.10/site-packages (22.2.1)
Collecting pip
Using cached pip-22.2.2-py3-none-any.whl (2.0 MB)
Installing collected packages: pip …Run Code Online (Sandbox Code Playgroud) 我是虚拟环境的粉丝,我也喜欢将我的virtualenvs 保留在项目根目录中。这有助于我跟踪它们的位置,并允许我给它们起通用名称,例如.venv.
但我需要一种方法来安装特定版本的 python 以便与我的virtualenvs 一起使用。所有的道路似乎都指向pyenv。
除非我误解了如何工作pyenv和pyenv-virtualenv工作,否则这个库似乎坚持将我的实际 virtualenv 埋在~/.pyenv文件夹中的某个位置,并给我留下一个.python-version我不想拥有的文件。
有没有一种方法可以方便地安装特定版本的python pyenv,然后在我的项目目录中以传统方式创建我的虚拟环境,从而在pyenv创建虚拟环境后消除我的项目的依赖?
在Windows 10 上的WSL(Wsman Shell 命令行,版本 0.2.1)中,我安装了pyenv并尝试使用pyenv-virtualenvwrapper。然而,我似乎无法启动并运行它,即使使用与我的 Ubuntu PC 相同的配置文件.bashr也是如此。.profile
接下来,我将描述我所做的尝试。
username@hd1pcms0347:~$ pyenv
pyenv 1.2.26
Usage: pyenv <command> [<args>]
Some useful pyenv commands are:
--version Display the version of pyenv
activate Activate virtual environment
commands List all available pyenv commands
deactivate Deactivate virtual environment
exec Run an executable with the selected Python version
global Set or show the global Python version(s)
help Display help for a command
hooks List …Run Code Online (Sandbox Code Playgroud) python virtualenvwrapper pyenv windows-subsystem-for-linux pyenv-virtualenv
昨天我通过 brew 从 1.2.24.1 -> 2.0.3 升级了 pyenv。从那时起,当我打开任何新的终端窗口时,python链接到内置系统 Python 2 而不是我的全局 pyenv python。
如果我pyenv virtualenvwrapper在终端窗口中执行 a ,然后创建并激活一个虚拟环境(mkvirtualenv foobar和workon foobar),那么我的全局 pyenv Python 将被正确激活。前任:
$ pyenv global
3.9.6
$ which python
/usr/bin/python
$ python
WARNING: Python 2.7 is not recommended.
This version is included in macOS for compatibility with legacy software.
Future versions of macOS will not include Python 2.7.
Instead, it is recommended that you transition to using 'python3' from within Terminal.
Python …Run Code Online (Sandbox Code Playgroud) pyenv ×10
pyenv-virtualenv ×10
python ×8
pip ×2
python-3.x ×2
fish ×1
homebrew ×1
python-venv ×1
terminal ×1
virtualenv ×1