Linux 源安装的 Python3.4.3 版本,刚刚下载编译了官网的 Python3.6.3 版本,装上后 Python3 就挂了 提示 No module named 'readline'之类

2017-10-11 10:44:12 +08:00
 a251922581
Python3.6.3 版本 下载,解压
./configure
make
make install
结果连输入 python3 或者 python3.6 这样的命令进去都报错,提示
File "/etc/pythonstart", line7, in <module>
import readline
ModuleNotFoundError: No Module named 'readline'
用 pip 提示没有 urllib3,用 virtualenv 提示没有_posixsubprocess
有谁遇到过同样的问题解决了吗?自带的 Python3.4 通过包管理软件卸载了也没有用
5075 次点击
所在节点    Python
17 条回复
Neveroldmilk
2017-10-11 10:59:01 +08:00
你要改环境变量吧。
lovesky
2017-10-11 11:02:25 +08:00
编译 python 前需要先安装 libreadline-dev
zhengxiaowai
2017-10-11 11:19:46 +08:00
Python 编译安装是需要一些依赖库的,如果缺少了这些依赖库,模块就不会加载。

我记得 Python 在编译完成之后会提醒你哪些东西少了,你可以安装完成之后再重新编译 Python
JamesMackerel
2017-10-11 11:42:33 +08:00
虽然不反对你这样做……
我想说,何苦编译安装呢。
AstroProfundis
2017-10-11 12:25:35 +08:00
另外如果你用的 root, configure 时候没指定 prefix 然后直接 make install 怕是把系统的给覆盖了?
NoAnyLove
2017-10-11 12:48:37 +08:00
似乎用 pyenv 没有遇到这种问题,不记得是自己安装了依赖还是 pyenv 自动安装的依赖。
fy
2017-10-11 13:11:24 +08:00
直接用第三方源安装,编译安装麻烦不能卸载还事情多
ysc3839
2017-10-11 13:21:21 +08:00
借楼问一下,在没有 root 权限的机子上安装 Python 3 只能编译吗?
Neveroldmilk
2017-10-11 13:22:18 +08:00
@ysc3839 你不可能没有 sudo 权限吧?
hcnhcn012
2017-10-11 13:22:24 +08:00
百度 annaconda
ysc3839
2017-10-11 13:30:26 +08:00
@Neveroldmilk 就是没有
a251922581
2017-10-11 15:03:45 +08:00
@JamesMackerel 源里的 Python 只有 3.4.3 的啊,相装一下 3.6.3 的,官网对 Linux 好像只有源码包

@AstroProfundis 是的。。
现在已经把能找到的 3.6.3 的安装后的文件删掉了,原来的 3.4.3 用包管理工具删除再安装一下,目前勉强能用了。
zzhcoder
2017-10-11 15:30:57 +08:00
sudo apt install libreadline-dev
only0jac
2017-10-11 15:38:37 +08:00
@JamesMackerel
@fy
请问下要想安装官网最新版也只能编译吧?用的其他源一般都是旧的版本,有什么新源推荐吗?谢谢
doubleflower
2017-10-11 15:48:59 +08:00
楼主你犯了一个原则性错误,自己编一个包不要替换掉系统原有的包,特别是 python 这么重要的包。python 编译是可以 altinstall 到非系统目录的。
fy
2017-10-11 15:49:52 +08:00
@only0jac #14

一套标准连,我 vagrant 机器自用的

```bash
sudo add-apt-repository ppa:deadsnakes/ppa
apt-get update
apt-get install -y python3.6 python3.6-dev

rm /usr/bin/python3
ln -s /usr/bin/python3.6 /usr/bin/python3

curl https://bootstrap.pypa.io/get-pip.py | python3

pip3 --version
pip3 install pip --upgrade
```

这个 3.6 源不是最有名的那个,最有名的那个会搞坏 apt,这个不会
msg7086
2017-10-11 16:49:09 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/396684

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX