[Mac经验] Python编译安装与手动安装

前言

前段时间在Mac上重新安装了Python. 遇到了几个相关问题,在此记录一下。


正文

Python主要分为编译安装直接安装.

  • 所谓编译安装,即使用GCCmake命令进行安装。
  • 直接安装. 即使用根据软件的使用平台使用.dmg/.exe安装包进行安装。简单实用,不容易出错。缺点是可定制化程度偏低。

安装包的选择(以最新的python3.8.6为例)

https://www.python.org/downloads/release/python-386/
在这里插入图片描述
https://www.python.org/downloads/mac-osx/

1.X86和X86-64的区别:系統是 32 bit 的版本还是 64 bit 的

2. web-based  ,executable , embeddable zip file区别

web-based: 透过网络安装的,就是执行安装后才透过网络下载python

executable: 可執行文件的,既把要安装的python全部下载好在本机安装

embeddable zip file: zip 压缩档,就是python打包成zip压缩包

python学习历程-安装篇


编译安装

编译安装的步骤也非常简单. 主要包括如下几个命令:

# 步骤1
./configure
# 步骤2
make
# 步骤3
make install

https://www.runoob.com/python/python-install.html

此处. 在编译安装前. 我们可以使用./configure进行指定.你想要python安装包安装的位置.

# 设置安装位置
./configure --prefix=/Users/sean/Software/Python/current/bin/ 
# 设置openssl
 --with-openssl=/usr/bin/openssl

最后, 值得一提的是. 为了方便使用, 可以将脚本地址写入环境变量.

# Python 20201103
#export Python_HOME=/Users/sean/Software/Python/current/bin
#export PATH=.:$PATH::$Python_HOME/bin
安装完成

在这里插入图片描述
个人认为如下几个目录:

  • bin 用来存放python3/pip3等脚本.
  • lib 用来存放需要安装的python依赖包.

遇到的异常

/Users/sean/Software/Python/Python-3.8/Python-3.8.6/Modules/_lzmamodule.c:17:10: fatal error: 'lzma.h' file not found
#include <lzma.h>
         ^~~~~~~~
1 error generated.
In file included from /Users/sean/Software/Python/Python-3.8/Python-3.8.6/Modules/_tkinter.c:48:
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/tk.h:78:11: fatal error: 'X11/Xlib.h' file not found
#       include <X11/Xlib.h>
                ^~~~~~~~~~~~
1 error generated.

不知道是否影响使用.


直接安装

由于我使用的是mac系统. 所以可以直接下载.dmg包进行安装python.

  • 安装完成后的python3地址
localhost:~ sean$ which python3
/Library/Frameworks/Python.framework/Versions/3.8/bin/python3
  • 安装完成后python3仓库
/Library/Frameworks/Python.framework/Versions/3.8/lib

localhost:lib sean$ ls
Tk.icns			libformw.5.dylib	libncursesw.dylib	libssl.dylib		pkgconfig		tclConfig.sh		tdbcpostgres1.0.6
Tk.tiff			libformw.dylib		libpanelw.5.dylib	libtcl8.6.dylib		python3.8		tclooConfig.sh		thread2.8.2
itcl4.1.1		libmenuw.5.dylib	libpanelw.dylib		libtclstub8.6.a		sqlite3.21.0		tdbc1.0.6		tk8.6
libcrypto.1.1.dylib	libmenuw.dylib		libpython3.8.dylib	libtk8.6.dylib		tcl8			tdbcmysql1.0.6		tkConfig.sh
libcrypto.dylib		libncursesw.5.dylib	libssl.1.1.dylib	libtkstub8.6.a		tcl8.6			tdbcodbc1.0.6
localhost:lib sean$ pwd
/Library/Frameworks/Python.framework/Versions/3.8/lib

PS: 其实之后选择直接安装. 是在pip3 install numpy. 下载第三方包的时候遇到一些列问题. 这个之后使用另一篇文章讲述.


Reference

[1]. (官方)https://www.python.org/downloads/release/python-386/
[2]. (菜鸟教程)https://www.runoob.com/python/python-install.html

©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页