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
royzhanggy
V2EX  ›  Python

windows 下 python 项目打包发布

  •  
  •   royzhanggy ·
    scintoy · 2014-10-08 17:07:52 +08:00 · 6083 次点击
    这是一个创建于 3698 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如题,windows下想给一个python项目打包作为第三方库发布,而且想要生成一个命令(这是目前比较棘手的),有什么比较好的解决方案吗?py2exe已经尝试过,个人感觉只适合于单个文件的发布,而不适用于整个项目的发布。linux下已经用setuptools完美解决了,windows下折腾了半天没什么结果,各位v友大大有经验吗?
    18 条回复    2014-11-16 14:36:43 +08:00
    loading
        1
    loading  
       2014-10-08 17:22:58 +08:00
    可以考虑做成msi安装包。
    imn1
        2
    imn1  
       2014-10-08 17:25:23 +08:00
    royzhanggy
        3
    royzhanggy  
    OP
       2014-10-08 17:27:57 +08:00
    @loading 可以生成命令吗?因为主要是为了命令,这个项目可以作为sdk使用,也可以直接调用cli,cli是对sdk的封装。
    pandev
        4
    pandev  
       2014-10-08 17:30:20 +08:00
    py2exe
    royzhanggy
        5
    royzhanggy  
    OP
       2014-10-08 17:36:33 +08:00
    @pandev 已经尝试过,因为项目有很多个模块,针对一个主程序进行打包生成exe文件,运行的时候各种import找不到
    iam36
        6
    iam36  
       2014-10-08 17:37:41 +08:00
    可以用winrar,建立自解压文件,执行你所需要的包子里的命令;说白了,就是你原来的安装包再加批处理
    loading
        7
    loading  
       2014-10-08 17:46:02 +08:00
    "生成命令"我不知道你指什么?
    如果是说在 cmd 下使用,只有你的path对,不就好了?
    royzhanggy
        8
    royzhanggy  
    OP
       2014-10-08 18:09:28 +08:00
    @loading 不只是在cmd下使用这么简单,而是需要用一个xxx命令去调用程序里某个入口模块的main方法,现在要解决的就是怎么生成这样一个xxx命令
    yfdyh000
        9
    yfdyh000  
       2014-10-08 18:37:46 +08:00
    命令行参数吗。
    royzhanggy
        10
    royzhanggy  
    OP
       2014-10-08 18:41:47 +08:00
    @yfdyh000 嗯,cli部分用的是argparse
    loading
        11
    loading  
       2014-10-08 18:44:44 +08:00
    把它放到它该放的地方就好了,有那么复杂吗?
    你现在文件放哪就放哪!你自己能写出来了,还不知道调用过程和原理?
    xarrow
        12
    xarrow  
       2014-10-08 21:19:20 +08:00
    pyinstaller.py -F 最简洁!
    glasslion
        13
    glasslion  
       2014-10-08 21:19:57 +08:00
    @royzhanggy entry point
    royzhanggy
        14
    royzhanggy  
    OP
       2014-10-08 22:31:33 +08:00
    @glasslion 这个只是linux下有用吧,windows下好像没用
    royzhanggy
        15
    royzhanggy  
    OP
       2014-10-08 22:31:55 +08:00
    @xarrow 嗯,去试试看
    scola
        16
    scola  
       2014-10-09 08:27:47 +08:00
    Zuckonit
        17
    Zuckonit  
       2014-10-09 21:30:59 +08:00
    现在就pyinstaller项目还算活跃。支持的平台也很广。 pyinstaller -F 打包为单个文件很方便
    yangzh
        18
    yangzh  
       2014-11-16 14:36:43 +08:00 via iPhone
    pyinstaller
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2859 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 02:52 · PVG 10:52 · LAX 18:52 · JFK 21:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.