Ubuntu 16.04编译安装Python3.6所需依赖库及安装细节

引言:

在使用Python3.6的时候遇到了很多坑,而且很多都是编译安装时留下的坑,而这些坑需要重新编译安装python才能够解决,令人头疼。这里做一些总结,方便自己的同时也希望对他人有所帮助。


依赖库:

  1. 编译安装过程需要的库。
sudo apt-get install gcc make zlib1g-dev
  1. bz2支持库
sudo apt-get install libbz2-dev

bz2支持库,若在编译安装python前没有安装,将无法通过 pip install 安装提供bz2格式的第三方库,会出现unsupported archive format: .tar.bz2的错误,例如爬虫库Scrapy依赖的Twisted。

  1. sqlite3支持库
sudo apt-get install libsqlite3-dev

sqlite3支持库,若在编译安装python前没有安装,则python中会缺失sqlite3模块,当引入sqlite3或使用依赖sqllite3的第三方库(例如Scrapy)时,会出现ImportError: No modul named _sqllite3的错误。

  1. 其他:安装第三方库需要的库
sudo apt-get install python3-dev libxml2-dev libffi-dev libssl-dev libxslt1-dev

安装:

  • 通过wget获取压缩包,这里选择3.6.1版
wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz
  • 解压获取到的压缩包
tar xJf Python-3.6.1.tar.xz
  • 进入解压生成的目录
cd Python-3.6.1
  • 配置
./configure
  • 编译
make
  • 安装
sudo -H make install

TODO: 这里可以使用 sudo checkinstall 代替 sudo make install

编译安装可能遇到的深坑:

  1. make install 无法安装: 提示 permission denied
    权限不足,使用 sudo make install
  2. 编译安装通过,但是在创建虚拟环境时出错:
Error: Command '['path_to_venv/python3.6', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1.

编译安装前没有某些库,导致pip和setuptools没有在编译安装时随Python一起安装

为了搞定这个问题,也是一把辛酸泪

  1. 尝试手动安装pip,
    • 先根据官网pypi的pip安装说明,get-pip.py方式安装,出现decompress error,提示缺少zlib包,又去安装zlib包,依然出错,google上说需要安装zlib后重新编译。。。(我的本意就是不想重新编译啊~~魂淡),又回到了原点。
    • 依然不放弃,试着从pypi下载pip的zip压缩包,解压后, /usr/local/bin/python3.6 setup.py install, 出错。。。提示需要setuptools依赖,又去pypi下载setuptools的zip压缩包,解压,安装,提示ImportError需要另一个依赖(具体哪个依赖,好像当时头有点蒙,没太记住),感觉自己越陷越深!
    • 灵机一动,从系统自带的Python3.5的site-package里复制pip和setuptools,再次创建虚拟环境,出现同样错误

于是默默打开了duckduckgo.com:
how to build python3.6 from source in Ubuntu16.04

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,033评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,725评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,473评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,846评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,848评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,691评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,053评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,700评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,856评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,676评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,787评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,430评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,034评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,990评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,218评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,174评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,526评论 2 343

推荐阅读更多精彩内容