系统是 xubuntu 14.04 ,自带 python 2.7.6 ,然后自己编译安装了 2.7.10 ,现在使用 pip 安装第三方模块( pytftpdlib 和 numpy ),安装时使用 sudo (不然提示权限不足),安装好之后,在 /usr/local/lib/python2.7/下也可以找到新安装的模块文件,但是在代码里面引用模块时却提示找不到模块,开始怀疑时用户权限不足,所以就 su 到 root ,再执行,还是一样的错误,用 python 3.4 执行也是一样的效果。
这个是什么原因啊,怎么破?
1
msg7086 2015-09-29 05:27:11 +08:00 1
自带 + 编译安装 ≈ 依赖地狱
|
2
firemiles 2015-09-29 10:02:18 +08:00
用的是 python2.7.6 的 pip 还是 2.7.10 的 pip ,不会用错了吧
|
3
hujianxin 2015-09-29 10:04:53 +08:00 via iPhone
用 pyenv
|
4
oska874 OP |
5
lln133208 2015-09-29 13:48:33 +08:00
多版本 python 共存的话用**pyenv**好些
|
7
yaxin 2015-09-29 17:17:49 +08:00
你需要的是这一条```ln -s /usr/local/python27/lib/python2.7/config/libpython2.7.a /usr/lib```
也是就是说,模块编译查找 lib 貌似并不会找到 /usr/local/lib 下面的 http://yaxin-cn.github.io/Python/issue-when-install-python-cffi.html 这个你可以参考一下,但不一定适合你 话说有 2.7.6 为什么还要装 2.7.10 ,难道有什么飞跃性的特性吗? |
8
oska874 OP @yaxin 话说你给的路径我这没的,只有 /usr/local/lib/python2.7/config/
而且我这都是安装成功的,是在 py 里面 import 的时候报的错。 |
10
oska874 OP @yaxin /usr/local/lib/libpython2.7.a 可以找到,但是他是干什么的?和 module 引用有关系吗?
|
12
hsyu53 2015-09-30 22:51:29 +08:00 via Android
因为你的 pip 是在 Python 2.7.10 之前安装的。我跟你遇到过一样的问题,用的笨办法: 重新安装 pip ,再用新的 pip 重新安装需要的 package
|