pon*_*ear 6 python homebrew pyenv apple-silicon apple-m1
我尝试运行 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
checking for pthread_t... yes
checking size of pthread_t... 8
checking size of pthread_key_t... 8
checking whether pthread_key_t is compatible with int... no
configure: error: Unexpected output of 'arch' on OSX
make: *** No targets specified and no makefile found. Stop.
Run Code Online (Sandbox Code Playgroud)
尝试通过自制程序安装。奇怪的是我可以安装 pyenv 3.9.6。我认为这与该版本与新的硅 M1 芯片不兼容有关。我已经尝试过在 Mac OS Big Sur 上使用 pyenv 安装 python 3.6 的问题和通过 Pyenv 安装 Python 3.x 的问题,但没有任何效果。提前致谢!!
fn *_*ion 15
https://www.python.org/downloads/release/python-391/
\n\n\n3.9.1 是第一个支持 macOS 11 Big Sur 的 Python 版本。
\n
https://www.python.org/downloads/release/python-3810/
\n\n\nPython 3.8.10
\n...但无论如何,这里有很多重要的更新,其中最大的是 Big Sur 和 Apple Silicon 构建支持。
\n
遗憾的是,您无法安装 3.8.5。
\n使用 pyenv 和 Rosetta,可能可以安装较旧的 Python 版本。来自Apple Silicon 上带有 pyenv 的 Python 虚拟环境:
\n\n\n首先,为了能够运行 x86 可执行文件,我们需要安装Rosetta:
\nRun Code Online (Sandbox Code Playgroud)\n$ softwareupdate \xe2\x80\x94-install-rosetta\n现在我们可以安装 x86 Homebrew:
\nRun Code Online (Sandbox Code Playgroud)\n$ arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"\n它将安装在该
\n/usr/local/bin/目录中。为了方便起见,您可以通过在 shell 配置文件中添加以下行来创建别名:Run Code Online (Sandbox Code Playgroud)\nalias brew86="arch -x86_64 /usr/local/bin/brew"\n现在我们可以调用 x86 Homebrew
\nbrew86并安装\npyenv 所需的软件包:Run Code Online (Sandbox Code Playgroud)\n$ brew install openssl readline sqlite3 xz zlib\n\n$ brew86 install openssl readline sqlite3 xz zlib\n您可以使用以下命令检查安装是否成功以及是否拥有两种架构的\n软件包
\nfile,例如:Run Code Online (Sandbox Code Playgroud)\n$ file /opt/homebrew/Cellar/openssl@1.1/1.1.1k/bin/openssl\n/opt/homebrew/Cellar/openssl@1.1/1.1.1k/bin/openssl: Mach-O 64-bit executable arm64\n\n$ file /usr/local/Cellar/openssl@1.1/1.1.1k/bin/openssl\n/usr/local/Cellar/openssl@1.1/1.1.1k/bin/openssl: Mach-O 64-bit executable x86_64\n要安装 x86 Python,您需要使用
\narch -x86_64 prefix. 为了方便起见,我们通过在 shell 配置文件中添加以下行来为此命令创建一个别名:Run Code Online (Sandbox Code Playgroud)\nalias pyenv86="arch -x86_64 pyenv"\n现在您可以通过调用以下命令来安装 x86 Python 二进制文件:
\nRun Code Online (Sandbox Code Playgroud)\n$ pyenv86 install <PYTHON_VERSION>\n默认情况下,pyenv 不允许您为已安装的 Python 版本指定自定义名称,但您可以使用 pyenv -alias插件为您的安装指定适当的名称:
\nRun Code Online (Sandbox Code Playgroud)\n$ VERSION_ALIAS="3.x.x_x86" pyenv86 install 3.x.x\n请注意,对于 pyenv 和 Homebrew 安装的别名,\n您\xe2\x80\x99 必须在所有命令和位置中指定它们,例如\n:
\nRun Code Online (Sandbox Code Playgroud)\n$ CFLAGS="-I$(brew86 --prefix openssl)/include" \\\nLDFLAGS="-L$(brew86 --prefix openssl)/lib" \\\nVERSION_ALIAS="3.x.x_x86" \\\npyenv86 install -v 3.x.x\n
| 归档时间: |
|
| 查看次数: |
14382 次 |
| 最近记录: |