前言
前段时间在Mac
上重新安装了Python
. 遇到了几个相关问题,在此记录一下。
正文
Python
主要分为编译安装
和直接安装
.
- 所谓编译安装,即使用
GCC
和make
命令进行安装。 直接安装
. 即使用根据软件的使用平台使用.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压缩包
编译安装
编译安装的步骤也非常简单. 主要包括如下几个命令:
# 步骤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