V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
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
XIVN1987
V2EX  ›  Python

发现一种新的软件安装方式: pip

  •  
  •   XIVN1987 · 2018-12-31 00:55:31 +08:00 · 9110 次点击
    这是一个创建于 2188 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在 pypi 上发现了一个叫 cmake 的包,,感觉很奇怪,cmake 不是 C/C++的编译工具吗,怎么会跟 python 有关系,难道 cmake 是 python 写的??

    于是把 cmake-3.13.2.post1-cp36-cp36m-win_amd64.whl 下载下来看了下,发现这个所谓的 python 包,里面就两个.py 文件,,内容还是些无关紧要的东西,倒是在 data/bin 目录下有 cmake.exe 、cmake-gui.exe 等文件,,

    原来是把 python 的包机制作为一种软件安装手段了,,假装自己是个 python 包,方便用 pip 安装(>人<;)

    第一次发现,,还有这么玩儿的

    28 条回复    2019-01-02 09:20:16 +08:00
    MonoLogueChi
        1
    MonoLogueChi  
       2018-12-31 02:23:27 +08:00 via Android
    你见过用 npm 装 unity 包的吗
    fy
        2
    fy  
       2018-12-31 02:27:11 +08:00
    @MonoLogueChi #1 我觉得这个操作有点惊悚?如果这个 unity 是我理解的那个 unity 的话
    orangeade
        3
    orangeade  
       2018-12-31 02:27:57 +08:00 via Android
    不喜欢用系统包管理安装 Python 包,也不喜欢这种 Python 安装无关二进制工具的……
    msg7086
        4
    msg7086  
       2018-12-31 06:27:57 +08:00   ❤️ 18
    Steam 还能启动 Visual Studio 呢,逼格超高。
    outladder
        5
    outladder  
       2018-12-31 07:56:14 +08:00 via Android   ❤️ 1
    npm 安装的话,需要安装 nodejs 工具吗?
    xeaglex
        6
    xeaglex  
       2018-12-31 08:21:53 +08:00
    所以这么做的好处是?
    zhustec
        7
    zhustec  
       2018-12-31 08:29:32 +08:00   ❤️ 1
    pip 安装的包,升级都得间接的搞,pip 是我见过的比较难用的管理器。
    AnyISalIn
        8
    AnyISalIn  
       2018-12-31 10:43:55 +08:00
    pip 是一个包管理工具,只要定义好安装脚本,可以装任意软件
    BingoXuan
        9
    BingoXuan  
       2018-12-31 10:52:14 +08:00 via Android
    按道理你可以安装各种语言的 hello
    lrxiao
        10
    lrxiao  
       2018-12-31 10:53:28 +08:00   ❤️ 1
    lihongjie0209
        11
    lihongjie0209  
       2018-12-31 11:03:04 +08:00
    conda install nodejs
    XIVN1987
        12
    XIVN1987  
    OP
       2018-12-31 11:03:10 +08:00
    @xeaglex
    不知道这样做有什么好处,,作者没说,,

    我也是因为觉得这种 pip 用法挺奇葩,,所以才发帖聊聊
    likuku
        13
    likuku  
       2018-12-31 11:26:31 +08:00 via iPhone
    人类的另一种本质:一把锤子敲万物
    redapple02043
        14
    redapple02043  
       2018-12-31 11:35:12 +08:00
    我感觉这个功能还是挺不错的。。有时候在 deb 系上遇到依赖问题用 pip 装就没那么多事。。
    alvin666
        15
    alvin666  
       2018-12-31 11:38:57 +08:00 via Android
    很正常啊,pip 能装任何 Python 脚本,Python 可以 os.popen(),用的多了就会发现很多包其实不止可以 import,命令行下也可以直接用,比如 youget,thefuck 等等
    imn1
        16
    imn1  
       2018-12-31 11:45:20 +08:00
    没事,还有外国友人问我中国人拿着手机在收银台是不是刷积分呢
    Daming
        17
    Daming  
       2018-12-31 12:08:03 +08:00
    pip install tldr
    flowfire
        18
    flowfire  
       2018-12-31 12:50:38 +08:00 via Android
    @msg7086 ????
    jim9606
        19
    jim9606  
       2018-12-31 16:47:45 +08:00
    有些 pypi 包需要 C 模块的还是自己带个静态库比较方便,特别是 windows 这种对共享库管理很不友好的系统,省得部署麻烦。
    有些库只做了一半,要现场编译得就麻烦了,还得装个专用得 VC 工具链,一有 error 就不知道怎么修。
    anaconda 就是为此而生的,如果 conda 有 cmake 我不意外,pypi 搞这个估计是 为了用 python 控制 cmake 吧(我见过用 python 脚本生成 CMakefile 的)
    pityhero233
        20
    pityhero233  
       2018-12-31 17:00:51 +08:00 via Android
    @msg7086 ?????
    ycfung
        21
    ycfung  
       2018-12-31 17:52:58 +08:00 via Android
    @pityhero233 @flowfire Steam 的库中可以添加本地的程序,不会和账户有什么关系,但是好友列表会显示你正在使用的程序名字(开着 steam 写代码逼格满满
    008px
        22
    008px  
       2018-12-31 17:56:55 +08:00 via Android
    anaconda 不是很好用?自带超多库
    Les1ie
        23
    Les1ie  
       2018-12-31 19:04:36 +08:00
    pip 可以直接分发可用的程序,而不仅仅是 python 包,比如`you-get`, `youtube-dl`之类的
    但是要注意,pip 是任何人都有权限上传文件的,包括恶意攻击者,使用 pip 下载东西之前,务必通过程序的官网或者 github 确认一下是否可信,确认名字拼写完全一样
    dot2017
        24
    dot2017  
       2018-12-31 19:13:23 +08:00
    pip 不是很早就有了么。。。
    blless
        25
    blless  
       2018-12-31 19:36:39 +08:00 via Android
    go get 更方便
    leavic
        26
    leavic  
       2018-12-31 21:57:56 +08:00
    这有啥奇怪的。。。
    hatsuyuki
        27
    hatsuyuki  
       2019-01-01 11:05:10 +08:00
    cmake 不是 C/C++ 的编译工具,是自动化构建工具
    a226679594
        28
    a226679594  
       2019-01-02 09:20:16 +08:00
    anaconda 不是很好用?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1021 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 22:11 · PVG 06:11 · LAX 14:11 · JFK 17:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.