推荐学习书目
› 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 · Dec 31, 2018 · 10262 views
    This topic created in 2872 days ago, the information mentioned may be changed or developed.

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

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