标签: pyenv

如何使用特定(但已卸载)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 无法在 Monterey 12.3 上安装 3.9.6

我发现这是一个反复出现的问题,并且没有关于此的新评论。我一直在尝试在 archs arm64 和 i386 上使用 pyenv 安装 python 3.9.6 - 使用 Rosetta2,但没有成功。由于我对此还很陌生,因此我无法确定出了什么问题,并且我想确认这不是任何类型的错误或兼容性问题。

有谁可以帮助实现这一目标吗?我真的需要在 monterrey OS 上运行 3.9.6 版本:(

下面进行调试并附加构建尝试日志

说明 MacOS Monterey 12.3:Rosetta 2:pyenv 版本 2.2.5:Python 版本 3.9.6:C 编译器信息 gcc 13.1.6(还安装了 clang):

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

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

Inspect or clean up the working tree at /var/folders/f3/32flyrb56gg5h45x3ntjrqpm0000gn/T/python-build.20220319140423.1512
Results logged to …
Run Code Online (Sandbox Code Playgroud)

python macos pyenv rosetta-2 macos-monterey

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

如何使用 pyenv 在 M1 mac 上构建 universal2 python?

我正在尝试使用 pyenv 在 M1 Mac 上构建和安装 universal2 (arm64+intel) python 3.10;我运行的是 MacOS Monterey 12.3.1。(我需要它来使用 pyinstaller 创建 universal2 版本。)

我已经尝试过env MACOSX_DEPLOYMENT_TARGET=10.9 CONFIGURE_OPTS="--enable-shared --enable-universalsdk --with-universal=archs=universal2" pyenv install 3.10.3,我认为这是正确的方法,但我收到此错误:

  File "/private/var/folders/41/gktcdg9x6d38d7jhzg09nwsh0000gn/T/python-build.20220509131706.57223/Python-3.10.2/Lib/ensurepip/__init__.py", line 193, in _bootstrap
    return _run_pip([*args, *_PACKAGE_NAMES], additional_paths)
  File "/private/var/folders/41/gktcdg9x6d38d7jhzg09nwsh0000gn/T/python-build.20220509131706.57223/Python-3.10.2/Lib/ensurepip/__init__.py", line 93, in _run_pip
    return subprocess.run([sys.executable, '-W', 'ignore::DeprecationWarning',
  File "/private/var/folders/41/gktcdg9x6d38d7jhzg09nwsh0000gn/T/python-build.20220509131706.57223/Python-3.10.2/Lib/subprocess.py", line 524, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['/private/var/folders/41/gktcdg9x6d38d7jhzg09nwsh0000gn/T/python-build.20220509131706.57223/Python-3.10.2/python.exe', '-W', 'ignore::DeprecationWarning', '-c', '\nimport runpy\nimport sys\nsys.path = [\'/var/folders/41/gktcdg9x6d38d7jhzg09nwsh0000gn/T/tmpifyf93mk/setuptools-58.1.0-py3-none-any.whl\', \'/var/folders/41/gktcdg9x6d38d7jhzg09nwsh0000gn/T/tmpifyf93mk/pip-21.2.4-py3-none-any.whl\'] + sys.path\nsys.argv[1:] = [\'install\', \'--no-cache-dir\', \'--no-index\', \'--find-links\', \'/var/folders/41/gktcdg9x6d38d7jhzg09nwsh0000gn/T/tmpifyf93mk\', \'--root\', \'/\', \'--upgrade\', \'setuptools\', …
Run Code Online (Sandbox Code Playgroud)

python macos pyinstaller pyenv

6
推荐指数
0
解决办法
1053
查看次数

尝试在 22.04 上安装 pyenv ——缺少 python-openssl?

E:无法找到包 python-openssl

全新安装 22.04(非升级),似乎我遇到了很多问题,试图让我的“常用”工具与捆绑的 Python 3.10.4 一起使用。尝试降级捆绑的 Python 太可怕了,最好使用 venv 或 pipelinev 等开发工具。

RealPython文章这里说我需要安装这些构建工具,得到它(仍然不确定 Pipenv 是否会正确运行),但它在 openssl 上窒息。发生这种情况有什么原因吗?似乎我早些时候在 22.04 世界中遇到了该模块的问题,但无法回忆起具体位置。

我遇到的此类问题越多,我对 3.10 的 Ubuntu 打包程序的疑问就越多,我确信我可以在 pypi.org 等网站上查看这些问题多久能得到解决,但很好奇有多少我的开发同事觉得他们升级基本操作系统太快了?

openssl pyenv pipenv ubuntu-22.04

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

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
查看次数

Pyenv选择virtualenv目录

我刚刚开始使用pyenv来管理我的python版本,并开始使用pyenv virtualenv插件来管理我的virtualenvs,到目前为止,我一直很喜欢它。但是我想念的一件事是,使用virtualenv,您实际上可以将虚拟环境放在存储库目录中,以便您的存储库是完全可复制的环境。有人知道在pyenv中选择您的virtualenv目录的方法吗?

virtualenv python-3.x pyenv

5
推荐指数
3
解决办法
1134
查看次数

在Dockerfile中使用'pyenv Activate'

我正在尝试在Dockerfile(FROM nvidia/cuda:8.0-cudnn5-devel-ubuntu16.04)中安装和设置pyenv

这是Dockerfile的后半部分(前半部分只是安装依赖项):

RUN useradd -ms /bin/bash user && echo "user:resu" | chpasswd && adduser user sudo
USER user
WORKDIR /home/user

# install pyenv
RUN git clone git://github.com/yyuu/pyenv.git .pyenv
ENV HOME  /home/user
ENV PYENV_ROOT $HOME/.pyenv
ENV PATH $PYENV_ROOT/shims:$PYENV_ROOT/bin:$PATH
RUN echo 'export PYENV_ROOT="$HOME/.pyenv"' >> .bashrc
RUN echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> .bashrc
RUN echo 'eval "$(pyenv init -)"' >> .bashrc
RUN pyenv install 2.7.10

# install pyenv-virtualenv
RUN git clone https://github.com/yyuu/pyenv-virtualenv.git .pyenv/plugins/pyenv-virtualenv
RUN echo 'eval "$(pyenv virtualenv-init -)"' >> .bashrc …
Run Code Online (Sandbox Code Playgroud)

python ubuntu virtualenv docker pyenv

5
推荐指数
1
解决办法
1636
查看次数

使用pyenv安装python后找不到python3命令

我用pyenv安装了特定版本的python。pyenv version在终端输入时,我看到了3.5.0 (set by /Users/lcherukuri/.python-version)。但是当我打字的时候python3我得到了python3 command not found。如何解决这个问题?找不到pip3

python pip pyenv

5
推荐指数
3
解决办法
4472
查看次数