标签: pyenv

pyenv 无法下载现有版本的 Python

根据博客文章,我最近安装了 pyenv 并尝试安装 python 版本。我运行了一些命令,但遇到错误,我不确定如何解决。

$ pyenv install 3.6.6
python-build: use openssl from homebrew
python-build: use readline from homebrew
Downloading Python-3.6.6.tar.xz...
-> https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tar.xz
error: failed to download Python-3.6.6.tar.xz

BUILD FAILED (OS X 10.12.6 using python-build 20180424)
Run Code Online (Sandbox Code Playgroud)

python macos pyenv

7
推荐指数
2
解决办法
1781
查看次数

pyenv 使用系统 python 而不是虚拟环境

我已经使用 pyenv 很长时间了,没有任何问题。我正确设置了它并且一切正常。

然而,当我试图解决另一个问题时,我运行了一些行,这破坏了我的 pyenv 安装。

现在,当我激活任何 virtualenv 时,它会尝试使用系统的 python 而不是 pyenv 的:

$ pyenv activate foo
(foo) $ which python 
/usr/bin/python
(foo) $ pip --version
pip 20.3.4 from /home/rodrigo/.local/lib/python2.7/site-packages/pip (python 2.7)

Run Code Online (Sandbox Code Playgroud)

我不确定到底是哪一行破坏了它,可能是以下一行:(foo) $ pip install --upgrade pip setuptools wheel 来自环境foo(我在它仍然有效时运行它),但可能是另一行。

我已经检查过~/.bashrc文件,没问题;重新启动控制台,甚至换了不同的环境foo2,问题仍然存在......

我已经检查了类似的问题,例如thisthis,但这些与我已经测试过并且没问题的配置错误有关。

我正在使用 Ubuntu 18.04 LTS 和 pyenv 2.0.3-8-gad880754

更新我重新安装了 pyenv 但它仍然不起作用

python pip pyenv

7
推荐指数
1
解决办法
1407
查看次数

使用 pyenv global 命令切换 python 版本时遇到问题

我已经使用homebrew在Mac上安装了pyenv并下载了Python 3.7.9的版本。一切正常,除了当我使用 时pyenv global 3.7.9python3 -V仍然给我版本 3.9.7。我该如何解决?

python macos homebrew path pyenv

7
推荐指数
2
解决办法
6878
查看次数

如何升级 pyenv (macOS) 以便新的 .venv 包含最新的 pip?

每次创建新的 .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)

pip python-venv pyenv pyenv-virtualenv

7
推荐指数
1
解决办法
1329
查看次数

导入 PyYAML、cltk 时出现问题

我刚拿到一台MacBook,克隆了我正在做的项目,然后去设置python环境。创建环境后,我更新了 pip 并尝试使用pip install -r requirements.txt. 给我带来问题的 3 个库是cltkPyYAMLstanza

\n

这是执行后给我的pip install -r requirements.txt

\n
Collecting PyYAML==5.4.1 (from -r requirements.txt (line 56))\n  Using cached PyYAML-5.4.1.tar.gz (175 kB)\n  Installing build dependencies ... done\n  Getting requirements to build wheel ... error\n  error: subprocess-exited-with-error\n  \n  \xc3\x97 Getting requirements to build wheel did not run successfully.\n  \xe2\x94\x82 exit code: 1\n  \xe2\x95\xb0\xe2\x94\x80> [62 lines of output]\n      running egg_info\n      writing lib3/PyYAML.egg-info/PKG-INFO\n      writing dependency_links to lib3/PyYAML.egg-info/dependency_links.txt\n      writing …
Run Code Online (Sandbox Code Playgroud)

macos pip setuptools pyyaml pyenv

7
推荐指数
2
解决办法
7665
查看次数

使用 pyenv + pipx 安装 virtualenvwrapper 时出现问题

我正在尝试在我的 macOS 中安装virtualenvwrapper(不是pyenv-virtualenvwrapper)(使用 zsh)。我用来pyenv管理多个 python 版本并pipx安装 CLI 东西。

我正在使用Python 3.8.1

$ pyenv versions
  system
  2.7.17
* 3.8.1 (set by /Users/my_user/.pyenv/version)
Run Code Online (Sandbox Code Playgroud)

我用 pipx 安装了 virtualenvwrapper

$ pipx install virtualenvwrapper

$ pipx list
venvs are in /Users/my_user/.local/pipx/venvs
apps are exposed on your $PATH at /Users/my_user/.local/bin
   package sshuttle 0.78.5, Python 3.8.1
    - sshuttle
   package virtualenv 20.0.15, Python 3.8.1
    - virtualenv
   package virtualenvwrapper 4.8.4, Python 3.8.1
    - virtualenvwrapper.sh
    - virtualenvwrapper_lazy.sh
Run Code Online (Sandbox Code Playgroud)

我插入了.zshrc以下几行:

export WORKON_HOME=$HOME/.virtualenvs
source …
Run Code Online (Sandbox Code Playgroud)

python virtualenv virtualenvwrapper pyenv

6
推荐指数
1
解决办法
1127
查看次数

如何使用特定(但已卸载)Python 版本在我的项目目录中创建 Python virtualenv

我是虚拟环境的粉丝,我也喜欢将我的virtualenvs 保留在项目根目录中。这有助于我跟踪它们的位置,并允许我给它们起通用名称,例如.venv.

但我需要一种方法来安装特定版本的 python 以便与我的virtualenvs 一起使用。所有的道路似乎都指向pyenv

除非我误解了如何工作pyenvpyenv-virtualenv工作,否则这个库似乎坚持将我的实际 virtualenv 埋在~/.pyenv文件夹中的某个位置,并给我留下一个.python-version我不想拥有的文件。

有没有一种方法可以方便地安装特定版本的python pyenv,然后在我的项目目录中以传统方式创建我的虚拟环境,从而在pyenv创建虚拟环境后消除我的项目的依赖?

python virtualenv pyenv pyenv-virtualenv

6
推荐指数
1
解决办法
2735
查看次数

无法在具有 M1 芯片的 MacOS Big Sur 上安装 pyenv 3.8.5?

我尝试运行 pyenv install 3.8.5 但不断收到以下错误:

python-build: use openssl@1.1 from homebrew
python-build: use readline from homebrew
Downloading Python-3.8.5.tar.xz...
-> https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tar.xz
Installing Python-3.8.5...
python-build: use readline from homebrew
python-build: use zlib from xcode sdk

BUILD FAILED (OS X 11.5.1 using python-build 20180424)

Inspect or clean up the working tree at /var/folders/61/8hkv2j8j6x7d7ldfq1d201b80000gp/T/python-build.20211009182855.32315
Results logged to /var/folders/61/8hkv2j8j6x7d7ldfq1d201b80000gp/T/python-build.20211009182855.32315.log

Last 10 log lines:
checking size of _Bool... 1
checking size of off_t... 8
checking whether to enable large file support... no
checking size of time_t... 8 …
Run Code Online (Sandbox Code Playgroud)

python homebrew pyenv apple-silicon apple-m1

6
推荐指数
1
解决办法
1万
查看次数

“pyenv versions”和“python -V”显示不同的版本

我需要使用Python 3.8。我使用以下命令安装它:

pyenv install 3.8.1
Run Code Online (Sandbox Code Playgroud)

现在的输出pyenv versions是:

  system
* 3.8.1 (set by /Users/username/.pyenv/version)
Run Code Online (Sandbox Code Playgroud)

输出python -V

Python 2.7.16
Run Code Online (Sandbox Code Playgroud)

为什么它们不同?

python python-2.7 pyenv python-3.8

6
推荐指数
1
解决办法
4186
查看次数

pyenv:如何安装python动态/共享库

当我从源代码手动编译 python 时(使用--enable-shared),我在目录中得到一个动态库lib。例如:

$ ls $PYTHON_INSTALLATION_DIRECTORY/lib
libpython3.9.so  libpython3.9.so.1.0  libpython3.so  pkgconfig  python3.9
Run Code Online (Sandbox Code Playgroud)

但是,当我使用pyenv安装 python 时,我只得到一个静态库:

$ ls .../pyenv/versions/3.9.13/lib
libpython3.9.a  pkgconfig  python3.9
Run Code Online (Sandbox Code Playgroud)

如何强制pyenv安装Python动态库?我应该运行什么命令而不是

$ pyenv install --verbose 3.9.13
Run Code Online (Sandbox Code Playgroud)

(我需要编译一个需要链接python动态库的软件项目)

非常感谢您的帮助!

python installation dynamic-library pyenv

6
推荐指数
1
解决办法
2691
查看次数