发现一种新的软件安装方式: pip - V2EX
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 9539 次点击
    这是一个创建于 2530 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在 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     Solana     980 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 22:37 PVG 06:37 LAX 14:37 JFK 17:37
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86