我不知道为什么pyenv(通过自制软件安装)似乎不起作用。
$PATHpyenv似乎没有正确更新我的变量,因此找不到通过 pyenv 安装的任何解释器。例如,对于 python 版本 3.6.8:
$ pyenv versions
system
* 3.4.10 (set by /Users/cglacet/.pyenv/version)
* 3.5.7 (set by /Users/cglacet/.pyenv/version)
* 3.6.8 (set by /Users/cglacet/.pyenv/version)
* 3.7.3 (set by /Users/cglacet/.pyenv/version)
* 3.8-dev (set by /Users/cglacet/.pyenv/version)
$ pyenv which python3.6
/Users/cglacet/.pyenv/versions/3.6.8/bin/python3.6
$ $(pyenv which python3.6) --version
Python 3.6.8
$ pyenv shell
pyenv: no shell-specific version configured
$ pyenv local
pyenv: no local version configured for this directory
Run Code Online (Sandbox Code Playgroud)
到这里为止,一切看起来都很好,但是:
$ python3.6 --version
-bash: python3.6: command not found
$ …Run Code Online (Sandbox Code Playgroud) 当我尝试使用 pyenv 安装 python 版本时,出现以下错误:
$ pyenv install 3.5.7
Downloading Python-3.5.7.tar.xz...
-> https://www.python.org/ftp/python/3.5.7/Python-3.5.7.tar.xz
Installing Python-3.5.7...
BUILD FAILED (CentOS release 6.10 (Final) using python-build 1.2.13)
Inspect or clean up the working tree at /tmp/python-build.20190726132219.7116
Results logged to /tmp/python-build.20190726132219.7116.log
Last 10 log lines:
File "/tmp/python-build.20190726132219.7116/Python-3.5.7/Lib/runpy.py", line 109, in _get_module_details
__import__(pkg_name)
File "/tmp/python-build.20190726132219.7116/Python-3.5.7/Lib/ensurepip/__init__.py", line 5, in <module>
import tempfile
File "/tmp/python-build.20190726132219.7116/Python-3.5.7/Lib/tempfile.py", line 45, in <module>
from random import Random as _Random
File "/tmp/python-build.20190726132219.7116/Python-3.5.7/Lib/random.py", line 41, in <module>
from math import log as _log, …Run Code Online (Sandbox Code Playgroud) 我安装了 pyenv 并切换到 python 3.6.9 (使用 pyenv global 3.6.9)。我如何回到我的系统Python?运行 pyenv 全局系统不起作用
我刚刚按照安装指南pyenv-win安装了 pyenv ,一切进展顺利,但我无法将 pyenv 全局 python 作为全局解释器
我rehashed安装后使用pyenv rehash
PS D:\> pyenv versions
3.5.1
3.6.2
3.7.7
* 3.8.2 (set by C:\Users\xxx\.pyenv\pyenv-win\version)
Run Code Online (Sandbox Code Playgroud)
结果
> python --version
> 3.8.4
# expected
> 3.8.2
Run Code Online (Sandbox Code Playgroud)
因此,我无法使用virtualenv已pyenv安装的 python 解释器
virtualenv py382-djangodev --python=3.8.2
The path 3.8.2 (from --python=3.8.2) does not exist
Run Code Online (Sandbox Code Playgroud) 我刚刚在 macOS Catalina 上安装了 pyenv,并且使用命令收到以下错误消息pyenv doctor:
Cloning /Users/joel.rontynen/.pyenv/plugins/pyenv-doctor/bin/.....
Installing python-pyenv-doctor...
python-build: use readline from homebrew
python-build: use zlib from xcode sdk
BUILD FAILED (OS X 10.15.7 using python-build 20180424)
Inspect or clean up the working tree at /var/folders/tl/_2700jnn5vj0q5ryygn4c4ww0000gp/T/python-build.20201014132428.46509
Results logged to /var/folders/tl/_2700jnn5vj0q5ryygn4c4ww0000gp/T/python-build.20201014132428.46509.log
Last 10 log lines:
checking readline/readline.h, presence... no
checking for readline/readline.h,... no
checking readline/rlconf.h usability... yes
checking readline/rlconf.h presence... yes
checking for readline/rlconf.h... yes
checking for SSL_library_init in -lssl... no
configure: WARNING: OpenSSL <1.1 not installed. …Run Code Online (Sandbox Code Playgroud) 我正在 pyenv 管理的 virtualenv 中工作
$ which python
/Users/me/.pyenv/shims/python
Run Code Online (Sandbox Code Playgroud)
/Users/me/.pyenv/shims/python是一个 shell 脚本,gdb 不起作用
"0x7ffeeb614570s": not in executable format: file format not recognized
Run Code Online (Sandbox Code Playgroud)
如何在/sf/answers/186496271/的 python 脚本上使用 gdb 来调试我的 C 扩展的段错误?
/sf/answers/3710511241/建议gdb -ex r --args bash python crash.py,但它不起作用,同样的错误
"0x7ffee0aa4530s": not in executable format: file format not recognized
Run Code Online (Sandbox Code Playgroud) 使用 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
操作系统: MacOS 10.14 Beta
目标:通过PYENV安装Python 3.7.0
当试图通过pyenv安装python 3.7.0我得到这个错误,我该如何解决这个问题?
Last 10 log lines:
File "/private/tmp/python-build.20180704152803.38921/Python-3.7.0/Lib/ensurepip/__main__.py", line 5, in <module>
sys.exit(ensurepip._main())
File "/private/tmp/python-build.20180704152803.38921/Python-3.7.0/Lib/ensurepip/__init__.py", line 204, in _main
default_pip=args.default_pip,
File "/private/tmp/python-build.20180704152803.38921/Python-3.7.0/Lib/ensurepip/__init__.py", line 117, in _bootstrap
return _run_pip(args + [p[0] for p in _PROJECTS], additional_paths)
File "/private/tmp/python-build.20180704152803.38921/Python-3.7.0/Lib/ensurepip/__init__.py", line 27, in _run_pip
import pip._internal
zipimport.ZipImportError: can't decompress data; zlib not available
make: *** [install] Error 1
Run Code Online (Sandbox Code Playgroud)
尝试修复的步骤:
1)重新安装XCODE
2)重新安装XCODE命令行工具
3)读取堆栈溢出上的类似错误
替代问题:
1) zlib应该预先安装,我可能会遇到什么样的问题?
2)将python手动安装到pyenv中的另一种方法是什么?pynev也可以识别?
我有一台新的 MacBook,里面所有的东西都是全新安装的,我升级到 macOS Catalina。我安装了自制软件,然后安装了 pyenv,并使用 pyenv 安装了 Python 3.8.0。所有这些东西似乎都能正常工作。
但是,既没有pyenv local也没有pyenv global似乎生效。以下是我所看到的所有细节:
thewizard@Special-MacBook-Pro ~ % pyenv versions
system
* 3.8.0 (set by /Usersthewizard/.python-version)
thewizard@Special-MacBook-Pro ~ % python --version
Python 2.7.16
thewizard@Special-MacBook-Pro ~ % pyenv global 3.8.0
thewizard@Special-MacBook-Pro ~ % python --version
Python 2.7.16
thewizard@Special-MacBook-Pro ~ % pyenv local 3.8.0
thewizard@Special-MacBook-Pro ~ % python --version
Python 2.7.16
thewizard@Special-MacBook-Pro ~ % echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/thewizard/.pyenv/bin
thewizard@Special-MacBook-Pro ~ % cat ~/.zshenv
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
if command -v pyenv 1>/dev/null …Run Code Online (Sandbox Code Playgroud) 我正在尝试让 wxPython 在pyenv基于virtualenv和virtualenvwrapper插件的基于虚拟环境中工作在MacOS 上。我已经阅读了几个关于如何完成这项工作的问题,但大多数答案似乎都假设我使用的是系统 python 版本,和/或只解决了一个损坏设置的一个方面。我还没有看到任何解释 wxPython 在启动时检查什么的内容。
我有 pyenv 编译的 python 3.7 与--enable-framework.
env PYTHON_CONFIGURE_OPTS="--enable-framework" pyenv install 3.7.4
Run Code Online (Sandbox Code Playgroud)
pyenv 它本身是从 git 中最近(在过去几周内)拉取的,安装在我的 homedir 中。
需要明确的是,我的 Python 工具链中的任何工具或库都不是 Homebrew 安装的。
我的 virtualenv 可以通过--system-site-packages. 据推测,访问框架和显示是 wxPython 工作所需的全部内容,但在任何测试应用程序启动时,我仍然遇到相同的错误:
该程序需要访问屏幕。请使用 Python 的框架版本运行,并且仅当您在 Mac 的主显示屏上登录时才运行。
在我看来,我应该需要的一切都可用。
% pyenv which python3.7
/Users/matt/.pyenv/versions/3.7.4/bin/python3.7
% mkvirtualenv --system-site-packages --python python3.7 wxtest
Running virtualenv with interpreter /Users/matt/.pyenv/shims/python3.7
Already using interpreter /Users/matt/.pyenv/versions/3.7.4/Python.framework/Versions/3.7/bin/python3.7
Using base prefix '/Users/matt/.pyenv/versions/3.7.4/Python.framework/Versions/3.7'
New python executable in …Run Code Online (Sandbox Code Playgroud)