MacOS M1 安装python3.5
因为没法通过brew直接安装python 3.5,因为brew库里已经没有这个版本的python了,因此只能曲线救国,大体流程:
- 安装brew
- 通过brew 安装 pyenv
- 然后通过pyenv 安装python3.5
问题总出在最后一步,如果直接安装的话,会报错:
» pyenv install 3.5.0
python-build: use openssl from homebrew
python-build: use readline from homebrew
Downloading Python-3.5.0.tar.xz...
-> https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tar.xz
Installing Python-3.5.0...
python-build: use readline from homebrew
python-build: use zlib from xcode sdk
BUILD FAILED (OS X 12.1 using python-build 20180424)
Inspect or clean up the working tree at /var/folders/kp/2xv_4lcd66vcp2f_1_9xdtvc0000gn/T/python-build.20220214165142.54477
Results logged to /var/folders/kp/2xv_4lcd66vcp2f_1_9xdtvc0000gn/T/python-build.20220214165142.54477.log
Last 10 log lines:
Python/random.c:88:19: note: did you mean 'py_getentropy'?
Python/random.c:80:1: note: 'py_getentropy' declared here
py_getentropy(unsigned char *buffer, Py_ssize_t size, int fatal)
^
Python/random.c:97:19: error: implicit declaration of function 'getentropy' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
res = getentropy(buffer, len);
^
2 errors generated.
make: *** [Python/random.o] Error 1
make: *** Waiting for unfinished jobs....
或者:
» pyenv install 3.5.10 1 ↵
python-build: use openssl@1.1 from homebrew
python-build: use readline from homebrew
Downloading Python-3.5.10.tar.xz...
-> https://www.python.org/ftp/python/3.5.10/Python-3.5.10.tar.xz
Installing Python-3.5.10...
python-build: use readline from homebrew
python-build: use zlib from xcode sdk
BUILD FAILED (OS X 12.1 using python-build 20180424)
Inspect or clean up the working tree at /var/folders/kp/2xv_4lcd66vcp2f_1_9xdtvc0000gn/T/python-build.20220214171051.99844
Results logged to /var/folders/kp/2xv_4lcd66vcp2f_1_9xdtvc0000gn/T/python-build.20220214171051.99844.log
Last 10 log lines:
^~~~~~~~~~~~~
./Modules/posixmodule.c:11345:9: warning: code will never be executed [-Wunreachable-code]
posix_error();
^~~~~~~~~~~
1 warning generated.
clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -Werror=declaration-after-statement -I. -I./Include -I/usr/local/opt/readline/include -I/usr/local/opt/readline/include -I/usr/local/opt/openssl@1.1/include -I/Users/youzhengchuan/.pyenv/versions/3.5.10/include -I/usr/local/opt/readline/include -I/usr/local/opt/readline/include -I/usr/local/opt/openssl@1.1/include -I/Users/youzhengchuan/.pyenv/versions/3.5.10/include -DPy_BUILD_CORE -c ./Modules/_sre.c -o Modules/_sre.o
11 warnings and 1 error generated.
make: *** [Modules/posixmodule.o] Error 1
make: *** Waiting for unfinished jobs....
1 warning generated.
查了半边天,用如下方法安装即可:
- 首先确认你系统安装的openssl,比如我当前系统有2个版本openssl:
» brew list | grep openssl
openssl@1.1
openssl@3
- 然后编辑一个安装脚本,注意替换里面的openssl为你系统的openssl
» cat ~/python-3.5-install.sh
#!/bin/bash
set -ex
export CFLAGS="-I$(brew --prefix openssl@1.1)/include -I$(brew --prefix readline)/include -I$(xcrun --show-sdk-path)/usr/include"
export LDFLAGS="-L$(brew --prefix openssl@1.1)/lib -L$(brew --prefix readline)/lib -L$(xcrun --show-sdk-path)/usr/lib -L$(brew --prefix zlib)/lib -L$(brew --prefix bzip2)/lib"
export CPPFLAGS="-I/usr/local/opt/zlib/include"
export PKG_CONFIG_PATH="/usr/local/opt/zlib/lib/pkgconfig"
#pyenv install --patch 3.5.9 < <(curl -sSL https://github.com/python/cpython/commit/8ea6353.patch)
#export LDFLAGS="-L$(brew --prefix zlib)/lib -L$(brew --prefix bzip2)/lib"
arch -x86_64 pyenv install --patch 3.5.10 < <(curl -sSL https://github.com/python/cpython/commit/8ea6353.patch\?full_index\=1)
然后直接执行这个脚本即可:
» bash ~/python-3.5-install.sh
++ brew --prefix openssl@1.1
++ brew --prefix readline
++ xcrun --show-sdk-path
+ export 'CFLAGS=-I/usr/local/opt/openssl@1.1/include -I/usr/local/opt/readline/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include'
+ CFLAGS='-I/usr/local/opt/openssl@1.1/include -I/usr/local/opt/readline/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include'
++ brew --prefix openssl@1.1
++ brew --prefix readline
++ xcrun --show-sdk-path
++ brew --prefix zlib
++ brew --prefix bzip2
+ export 'LDFLAGS=-L/usr/local/opt/openssl@1.1/lib -L/usr/local/opt/readline/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/usr/local/opt/zlib/lib -L/usr/local/opt/bzip2/lib'
+ LDFLAGS='-L/usr/local/opt/openssl@1.1/lib -L/usr/local/opt/readline/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -L/usr/local/opt/zlib/lib -L/usr/local/opt/bzip2/lib'
+ export CPPFLAGS=-I/usr/local/opt/zlib/include
+ CPPFLAGS=-I/usr/local/opt/zlib/include
+ export PKG_CONFIG_PATH=/usr/local/opt/zlib/lib/pkgconfig
+ PKG_CONFIG_PATH=/usr/local/opt/zlib/lib/pkgconfig
+ arch -x86_64 pyenv install --patch 3.5.10
++ curl -sSL 'https://github.com/python/cpython/commit/8ea6353.patch?full_index=1'
python-build: use openssl@1.1 from homebrew
python-build: use readline from homebrew
Downloading Python-3.5.10.tar.xz...
-> https://www.python.org/ftp/python/3.5.10/Python-3.5.10.tar.xz
Installing Python-3.5.10...
patching file Misc/NEWS.d/next/macOS/2020-06-24-13-51-57.bpo-41100.mcHdc5.rst
patching file configure
Hunk #1 succeeded at 3492 (offset 66 lines).
patching file configure.ac
Hunk #1 succeeded at 492 (offset -18 lines).
python-build: use readline from homebrew
python-build: use zlib from xcode sdk
Installed Python-3.5.10 to /Users/youzhengchuan/.pyenv/versions/3.5.10
» /Users/youzhengchuan/.pyenv/versions/3.5.10/bin/python -V
Python 3.5.10
MacOS M1 安装python3.5的更多相关文章
- macos catalina安装python3
之前跟着教程用brow安装了python3,后来发现电脑上有三个版本的python,头大. 于是用brew uninstall --force python3卸掉了python3 看到现在有两个版本 ...
- 如何在MacOS的VScode上安装Python3
由于MacOS上的VScode默认安装的Python版本是2.7,所以需要我们自己手动安装Python3从Python官网下载最新版本-安装-设置环境变量当然是可行的,但下面要介绍的是另外一种方式:H ...
- Mac安装python3.x+pycharm+elasticsearch+常见报错处理(1)
---恢复内容开始--- mac安装python有两种方式:此处叙述官网安装下载. mac 自带python2.x版本,python2和3之间的差距还是有的.下面简单叙述我安装python3.7的过程 ...
- MacOS环境中 python3 部署
MacOS环境中 python3 部署 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.在MacOS安装Python3.6 1>.打开python关于MacOS版本的官方网 ...
- centos6安装python3.4和pip3
在安装了epel源的情况下,直接yum就可以安装python3.4 yum install python34 -ypython3 --version 没有自带pip3,从官网安装 wget --no- ...
- 在CentOS6.8上面安装Python3.5
以前每次装Linux,升级Python,都会一堆问题,然后Google,本来想着记录一下,结果问题太多了,也就记不住了,这次特地记了下来. 在CentOS6.8上面安装Python3.5我的系统是Ce ...
- python3.5学习笔记:linux6.4 安装python3 pip setuptools
前言: python3应该是python的趋势所在,当然目前争议也比较大,这篇随笔的主要目的是记录在linux6.4下搭建python3环境的过程 以及碰到的问题和解决过程. 另外,如果本机安装了py ...
- 在Ubuntu中安装Python3
首先,通过命令行安装Python3.2,只需要在终端中通过命令行安装即可: sudo apt-get install python3 一路yes. 因为Ubuntu很多底层采用的是Python2. ...
- python环境搭建-在Windows上安装python3.5.2
在Windows上安装Python3.5.2 首先,根据你的Windows版本(64位还是32位)从Python的官方网站下载Python 3.5.2对应的64位安装程序或32位安装程序(网速慢的同学 ...
- Ubuntu下安装Python3.4
转自:http://blog.sina.com.cn/s/blog_7cdaf8b60102vf2b.html 1. 通过命令行安装Python3.4,执行命令:sudo apt-get instal ...
随机推荐
- PKUWC2025 游记
哈哈哈哈哈,我糖完了,哈哈哈哈哈. Day \(-998244353\) 被波波抓到机房充军集训去了,听到了很多新奇的算法,然后拼尽全力仍难以 \(AC\)--然后被各种巨佬疯狂单调队列. Day \ ...
- 库卡机器人KR3R540电源模块常见故障维修解决方法
库卡机器人KR3R540电源模块的常见故障及维修解决方法包括: 电源模块无法正常启动:应检查电源模块的电源连接是否正常,以及电源开关是否开启.如果电源连接正常,但驱 ...
- Java微信小程序登录接口获取openid
根据官方文档,wx.login()的回调函数中,需要我们传递生成的用户登录凭证到code2accessToken的接口中 小程序登录方法 code2accessToken的方法中要求传入如下参数 ...
- 奥特曼框架autMan对接微信公众号的详细教程
1.简介 微信公众号分为订阅号(个人)和服务号(公司),个人是可以申请的哈.具体怎么申请参见官方文档:https://kf.qq.com/faq/120911VrYVrA151009eIrYvy.ht ...
- 傻妞教程——对接QQ机器人go-cqhttp
原本我懒,用的傻妞QQbot一键安装版,docker的,最近有点问题,索性换了go-cqhttp 安装go-cqhttp: go-cqhttp项目地址:https://github.com/Mrs4s ...
- Flink - [05] 时间语义 & Watermark
题记部分 一.时间语义 Flink中的时间语义分为以下, (1)Event Time:事件创建的时间 (2)Ingestion Time:数据进入Flink的时间 (3)Processing Time ...
- 面试题 17.12. BiNode
地址:https://leetcode-cn.com/problems/binode-lcci/ <?php /** 二叉树数据结构TreeNode可用来表示单向链表(其中left置空,righ ...
- Halcon2DMeasure常用算子
1.create_metrology_model() create_metrology_model( : : : MetrologyHandle) 函数说明: 创建测量几何图形所需的数据结构/模型 ...
- Mermaid Live Editor 如何调整方向
在 Mermaid Live Editor 中,默认情况下,流程图和序列图等都是按照从左到右的方向来布局的.但是,如果你想要创建一个从上到下(纵向)布局的图形,你可以使用 TD(Top-Down,即从 ...
- ocr识别过程中报错 tesseract is not installed
这个问题无论在初始编译时或者在后来坏境变更调试时都会遇到的问题. 解决:问题原因是源码中的默认路径位置与文件位置不同,需要更改一下