首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
V2EX  ›  Python

pip install 名称带下划线和破折号的包的问题

  •  
  •   1800x · 107 天前 · 1390 次点击
    这是一个创建于 107 天前的主题,其中的信息可能已经有所发展或是发生改变。
    被依赖的包名称为:guess_language-spirit

    我的操作系统为 debian 9,安装了 python3.5 3.6.6 3.7,pip 为最新版
    在我的 debian 系统上直接安装 guess_language-spirit,不管哪个 py 版本,一律是报:
    Collecting guess_language-spirit
    Could not find a version that satisfies the requirement guess_language-spirit (from versions: )
    No matching distribution found for guess_language-spirit

    我 docker 官方仓库 pull 了 python3.6.0 3.6.6 3.7,再在几个 docker 容器上去安装 guess_language-spirit,都是成功的
    第 1 条附言  ·  106 天前
    谢谢大家
    已经解决

    造成该原因,因为 guess_language-spirit 依赖于 Python 内置模块 bz2,而自己编译的 Python 可能不包含该模块 。这种情况下,pip 在线安装会很坑爹地提示 not find ; pip 离线包安装才会友善地提示 No module named '_bz2'。

    编译 Python 时,make 会根据系统有无安装 bz2 依赖的 libbz2-dev 包来判断是否编译 ba2 模块,这个过程不会给用户任何提示。

    系统安装 libbz2-dev 包,然后重新编译安装 Python 即可解决。
    13 回复  |  直到 2019-04-09 10:34:46 +08:00
        1
    frostming   106 天前
    你是不是设了代理,检查下网络连接
        2
    1800x   106 天前
    @frostming 肯定跟网络无关,因为其它的都可以下
        3
    yzc27   106 天前 via iPhone
    是不是 python 版本問題?
        4
    huamiao   106 天前 via iPad
    检查过 pip 是哪个 python 版本下的么?记得默认是 py2 的,py3 要用 pip3
        5
    baojiweicn2   106 天前 via Android
    没有指定 version 嘛
        6
    baojiweicn2   106 天前 via Android
    这不是写着了吗
        7
    lihnzx   106 天前
    我试了试我的实体机 win7, 虚拟机 arch, 虚拟机 ubuntu, 都没有出现该问题
    不过...
    提示的是这个: Successfully uninstalled guess-language-spirit-0.5.3
    或者可以试试指定源: pip install guess-language-spirit -i http://mirrors.aliyun.com/pypi/simple/
        8
    msg7086   106 天前
    你运行的是 pip3 install 吗
        9
    ipwx   106 天前
    你试试 python -m pip install 而非 pip install ?
        10
    dorothyREN   106 天前
    包名是 guess_language-spirit 而不是 guess-language-spirit ??
        11
    1800x   106 天前
    @dorothyREN guess_language-spirit 与 guess-language-spirit 一样的结果
    @ipwx 谢谢 试了,不管用
    @msg7086 @huamiao pip3.x 与 py 版本一一对应
    @lihnzx 指定源也不行

    诸位朋友指出的方法,我早就一一尝试过……
        12
    Qzier   106 天前 via iPad
    pypi 其实是不区分短横线和下划线的。
        13
    lihnzx   106 天前
    我也隐约感觉应该是其他的问题, 不然怎么会提示找不到, 而且一开始我想问一下你是使用什么东西管理多版本的, 后来一想: 实际手动管理也没有太大的麻烦, 总结就是: 软件好装, 依赖难搞(边用边解决, 越用越顺手!)
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3824 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 18ms · UTC 08:13 · PVG 16:13 · LAX 01:13 · JFK 04:13
    ♥ Do have faith in what you're doing.