Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
oska874
V2EX  ›  Linux

xubuntu 下使用 pip 安装模块后不能用

  •  
  •   oska874 · Sep 28, 2015 · 2964 views
    This topic created in 3956 days ago, the information mentioned may be changed or developed.

    系统是 xubuntu 14.04 ,自带 python 2.7.6 ,然后自己编译安装了 2.7.10 ,现在使用 pip 安装第三方模块( pytftpdlib 和 numpy ),安装时使用 sudo (不然提示权限不足),安装好之后,在 /usr/local/lib/python2.7/下也可以找到新安装的模块文件,但是在代码里面引用模块时却提示找不到模块,开始怀疑时用户权限不足,所以就 su 到 root ,再执行,还是一样的错误,用 python 3.4 执行也是一样的效果。
    这个是什么原因啊,怎么破?

    Supplement 1  ·  Sep 29, 2015
    有什么办法恢复到原始情况?现在真是地狱了,修改了 PYTHONPATH ,然后 pip 执行就报错了,不修改程序不能执行。普通用户和 root 都要修改 python ,但是 sudo 时候还是提示找不到模块,疯了。
    13 replies    2015-10-01 01:32:36 +08:00
    msg7086
        1
    msg7086  
       Sep 29, 2015   ❤️ 1
    自带 + 编译安装 ≈ 依赖地狱
    firemiles
        2
    firemiles  
       Sep 29, 2015
    用的是 python2.7.6 的 pip 还是 2.7.10 的 pip ,不会用错了吧
    hujianxin
        3
    hujianxin  
       Sep 29, 2015 via iPhone
    用 pyenv
    oska874
        4
    oska874  
    OP
       Sep 29, 2015
    @firemiles 可以确认已经没有 2.7.6 了
    @hujianxin 怎么用?
    刚才看了下,发现 PYTHONPATH 是空的,强制赋值后就可以用了。但是 python 命令行里面 sys.path 一直是正常的。难道说重新安装 python 之后会清掉 PYTHONPATH ?还是说 PYTHONPATH 本来就是空的
    lln133208
        5
    lln133208  
       Sep 29, 2015
    多版本 python 共存的话用**pyenv**好些
    oska874
        6
    oska874  
    OP
       Sep 29, 2015
    @lln133208 现在已经出问题了,该怎么解决?
    yaxin
        7
    yaxin  
       Sep 29, 2015
    你需要的是这一条```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 ,难道有什么飞跃性的特性吗?
    oska874
        8
    oska874  
    OP
       Sep 29, 2015
    @yaxin 话说你给的路径我这没的,只有 /usr/local/lib/python2.7/config/
    而且我这都是安装成功的,是在 py 里面 import 的时候报的错。
    yaxin
        9
    yaxin  
       Sep 30, 2015 via iPhone
    @oska874 我都把文件名给你了,你 locate 一下不就行了。
    oska874
        10
    oska874  
    OP
       Sep 30, 2015
    @yaxin /usr/local/lib/libpython2.7.a 可以找到,但是他是干什么的?和 module 引用有关系吗?
    oska874
        11
    oska874  
    OP
       Sep 30, 2015
    @msg7086 有什么办法恢复呢?
    hsyu53
        12
    hsyu53  
       Sep 30, 2015 via Android
    因为你的 pip 是在 Python 2.7.10 之前安装的。我跟你遇到过一样的问题,用的笨办法: 重新安装 pip ,再用新的 pip 重新安装需要的 package
    oska874
        13
    oska874  
    OP
       Oct 1, 2015
    @hsyu53 没用。
    没办法了,只能用 so 上有人提供的办法,安装了 anaconda ,然后吧默认 python 改成了 anaconda 带的,问题就解决了,但是看到 anaconda 的 python 是用 gcc 4.4.7 编译的,又有些强迫症了。
    现在就用 conda 和 pip 来做虚拟环境和安装软件了,看着还行。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   946 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 21:06 · PVG 05:06 · LAX 14:06 · JFK 17:06
    ♥ Do have faith in what you're doing.