因为没法通过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的更多相关文章

  1. macos catalina安装python3

    之前跟着教程用brow安装了python3,后来发现电脑上有三个版本的python,头大. 于是用brew uninstall --force python3卸掉了python3 看到现在有两个版本 ...

  2. 如何在MacOS的VScode上安装Python3

    由于MacOS上的VScode默认安装的Python版本是2.7,所以需要我们自己手动安装Python3从Python官网下载最新版本-安装-设置环境变量当然是可行的,但下面要介绍的是另外一种方式:H ...

  3. Mac安装python3.x+pycharm+elasticsearch+常见报错处理(1)

    ---恢复内容开始--- mac安装python有两种方式:此处叙述官网安装下载. mac 自带python2.x版本,python2和3之间的差距还是有的.下面简单叙述我安装python3.7的过程 ...

  4. MacOS环境中 python3 部署

    MacOS环境中 python3 部署 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.在MacOS安装Python3.6 1>.打开python关于MacOS版本的官方网 ...

  5. centos6安装python3.4和pip3

    在安装了epel源的情况下,直接yum就可以安装python3.4 yum install python34 -ypython3 --version 没有自带pip3,从官网安装 wget --no- ...

  6. 在CentOS6.8上面安装Python3.5

    以前每次装Linux,升级Python,都会一堆问题,然后Google,本来想着记录一下,结果问题太多了,也就记不住了,这次特地记了下来. 在CentOS6.8上面安装Python3.5我的系统是Ce ...

  7. python3.5学习笔记:linux6.4 安装python3 pip setuptools

    前言: python3应该是python的趋势所在,当然目前争议也比较大,这篇随笔的主要目的是记录在linux6.4下搭建python3环境的过程 以及碰到的问题和解决过程. 另外,如果本机安装了py ...

  8. 在Ubuntu中安装Python3

    首先,通过命令行安装Python3.2,只需要在终端中通过命令行安装即可: sudo apt-get install python3   一路yes. 因为Ubuntu很多底层采用的是Python2. ...

  9. python环境搭建-在Windows上安装python3.5.2

    在Windows上安装Python3.5.2 首先,根据你的Windows版本(64位还是32位)从Python的官方网站下载Python 3.5.2对应的64位安装程序或32位安装程序(网速慢的同学 ...

  10. Ubuntu下安装Python3.4

    转自:http://blog.sina.com.cn/s/blog_7cdaf8b60102vf2b.html 1. 通过命令行安装Python3.4,执行命令:sudo apt-get instal ...

随机推荐

  1. 使用JAVA8 filter对List多条件筛选

    记录项目开发的过程中遇到的一些问题及解决方法,由于公司操作数据库都是统一使用工具生成的存在一些多表查询模糊查询,这些操作只能在集合方面下手了,比如发送邮件记录方面查询,对用户的名字及邮件模糊检索 年龄 ...

  2. mybatis - [13] 分页

    题记部分 001 || limit select * from mybatis.user limit 2,5; 2代表偏移量,从结果集的第3行开始. 5代表返回的记录数 UserMapper List ...

  3. 标题Spark Mavem项目在本地测试报错 : Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/spark/SparkConf

    Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/spark/SparkConf at S ...

  4. ABC393D题解

    大概评级:黄. 签到题. 显然,我们需要找到所有的 \(1\) 的位置,然后看其它的 \(1\) 靠拢过来需要几次操作,然后对于每个位置的答案取个最小值就好了. 直接暴力肯定是不行的,考虑优化计算其它 ...

  5. PostgreSQL configure: error: readline library not found

    前言 安装 PostgreSQL 时报错,以下 configure: error: readline library not found If you have readline already in ...

  6. go math/rand包详解

    go math/rand package rand import "math/rand" rand包实现了伪随机数生成器. math_rand go官方标准文档 随机数从资源生成. ...

  7. Git安装与Git GUI的使用

    一.下载安装包 官网:https://git-scm.com/downloads(下载慢) 或 https://pc.qq.com/search.html#!keyword=git,本人使用的是Git ...

  8. 找到占用磁盘最多的文件或目录,可以使用du和sort

    想要找到占用磁盘最多的文件或目录,可以使用du和sort命令:   du -h /path/to/directory | sort -rh | head -n 10 其中: du -h /path/t ...

  9. 一步一步教你部署ktransformers,大内存单显卡用上Deepseek-R1

    环境准备 硬件环境 CPU:intel四代至强及以上,AMD参考同时期产品 内存:800GB以上,内存性能越强越好,建议DDR5起步 显卡:Nvidia显卡,单卡显存至少24GB(用T4-16GB显卡 ...

  10. 【工具篇】git常用命令分享

    1. 配置 1.1 设置全局用户名和邮箱 git config --global user.name xxx git config --global user.email xxx@xxx.com 上述 ...