第一章|第一章 Python3 源码安装(Linux 版)
一、源码安装 安装依赖软件包
yum -y install gcc gcc-c++ zlib-devel bzip2-devel openssl-develsqlite-devel readline-devel
【第一章|第一章 Python3 源码安装(Linux 版)】前提条件是:你的系统已经安装了开发工具包。下载
curl -o python3.6.tgz https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz// 或者wgethttps://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
解压安装
tar -xf Python-3.6.5.tgzcd Python-3.6.5/
进入目录后,执行下面的命令
修改文件
Python-3.6.5/Modules/Setup.dist
, 去掉如下几行的注释 :readline readline.c -lreadline -ltermcapSSL=/usr/local/ssl
_ssl _ssl.c \
-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
-L$(SSL)/lib -lssl -lcrypto
或者在
shell
命令提示符下执行如下命令:sed -ri 's/^#readline/readline/' Modules/Setup.dist
sed -ri 's/^#(SSL=)/\1/' Modules/Setup.dist
sed -ri 's/^#(_ssl)/\1/' Modules/Setup.dist
sed -ri 's/^#([\t]*-DUSE)/\1/' Modules/Setup.dist
sed -ri 's/^#([\t]*-L\$\(SSL\))/\1/' Modules/Setup.dist
开始编译安装
./configure --enable-sharedmake -j 2 && make install
# -j cpu核心数
--enable-shared 指定安装共享库,共享库在使用其他需调用python的软件时会用到,比如使用配置共享库文件mod_wgsi
连接Apache与python时需要。
- 为所有用户设置共享库目录
/etc/profile.d/python3_lib.sh
vi /etc/profile.d/python3_lib.sh
在文件末尾写上如下内容:
# python3.6 共享库目录
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
编辑文件
/etc/ld.so.conf.d/python3.conf
,并且添加如下内容:/usr/local/lib
保存退出文件后, 执行如下命令 加载配置信息使其生效
ldconfig
执行如下命令,是环境变量生效
source /etc/profile
# 此条命令只能让当前的 shell 环境下的环境变量生效,最好重启机器
测试python3
$ python3
Python 3.6.3 (default, Dec 17 2017, 04:11:01)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print('qf')
qf
>>> exit()
输入测试 pip3exit()
即可退出 python3
文章图片
image
假如上面显示的含有 python3.6 就没问题了,说名 pip3 安装的模块会安装到上面显示的目录下特殊问题
假如 Python Shell 中敲击方向键显示「[[C[[D」
可以安装以下包
一般情况下你不需要执行下面的安装命令。
pip3 install gnureadline
二、 配置使用本地的源安装第三方模块 创建配置文件
- 配置 pip3 使用本地源
mkdir ~/.pip vi ~/.pip/pip.conf # Windows 下使用 pip.ini
[global]
index-url=https://mirrors.aliyun.com/pypi/simple
豆瓣源:示例:https://pypi.douban.com/simple/
阿里源:https://mirrors.aliyun.com/pypi/simple
比如安装一个执行远程主机命令的模块
文章图片
image
推荐阅读
- 喵喵
- Android事件传递源码分析
- Quartz|Quartz 源码解析(四) —— QuartzScheduler和Listener事件监听
- [源码解析]|[源码解析] NVIDIA HugeCTR,GPU版本参数服务器---(3)
- ffmpeg源码分析01(结构体)
- Java程序员阅读源码的小技巧,原来大牛都是这样读的,赶紧看看!
- 《吃掉那只青蛙》第一章
- [无戒学堂]读《百岁人生》第一章随记
- 自我修养--基础知识
- Vue源码分析—响应式原理(二)