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

Python如何热更新?

  •  
  •   luztak ·
    luztak · 2013-01-01 13:08:01 +08:00 · 7361 次点击
    这是一个创建于 4131 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我的配置写在执行文件里,所以reload貌似不行?
    如果行请告诉下做法 没Google到╮(╯_╰)╭
    如果不行还有什么方法呢?
    第 1 条附言  ·  2013-01-01 22:19:50 +08:00
    话没说清楚......是修改自身
    16 条回复    1970-01-01 08:00:00 +08:00
    yuelang85
        1
    yuelang85  
       2013-01-01 13:35:39 +08:00   ❤️ 1
    import sys
    del sys.modules['settings']
    import settings
    dreampuf
        2
    dreampuf  
       2013-01-01 13:47:04 +08:00
    要多热?
    从模块reload还是要部分杀掉进程部分重启还是要动态切换RPC连接?
    luztak
        3
    luztak  
    OP
       2013-01-01 19:40:53 +08:00
    @yuelang85 这是什么个玩法- -||

    @dreampuf 那啥,重启写入(程序重启)啥的......我本来想过crontab...
    aisk
        4
    aisk  
       2013-01-01 19:45:43 +08:00   ❤️ 1
    发signal
    Livid
        5
    Livid  
    MOD
       2013-01-01 19:46:30 +08:00 via iPhone   ❤️ 1
    @luztak 用 supervisord 搞定吧。
    luztak
        6
    luztak  
    OP
       2013-01-01 19:51:53 +08:00
    @Livid 我...python通知?有木有doc 0 0
    luztak
        7
    luztak  
    OP
       2013-01-01 19:52:17 +08:00
    @aisk 不只是重启啊.
    cloudzhou
        8
    cloudzhou  
       2013-01-01 20:35:01 +08:00
    我的做法一般是起一个nginx代理两个python,写个小程序分别做更新和重启操作。
    luztak
        9
    luztak  
    OP
       2013-01-01 20:48:25 +08:00
    @cloudzhou 其实我是想达到单文件......不过 好吧 钻牛角尖了
    yuelang85
        10
    yuelang85  
       2013-01-01 22:01:26 +08:00
    @luztak 我对你意思的理解是在进程不重启的情况下,使用某一个文件(代码)的最新内容?

    那就重新load该文件就可以了。reload只对文件的增量“感兴趣”。我这个方法是强制重新import某文件。至于怎么启动这段代码,看你需求了。。。。
    luztak
        11
    luztak  
    OP
       2013-01-01 22:19:22 +08:00
    @yuelang85 其实吧......是修改自身......
    reusFork
        12
    reusFork  
       2013-01-01 22:22:35 +08:00 via Android
    看看些web框架的auto reload部分
    aisk
        13
    aisk  
       2013-01-01 22:23:44 +08:00
    @luztak 我以为你的需求是不重启进程直接重载配置文件…楼主明确一下需求吧
    yuelang85
        14
    yuelang85  
       2013-01-01 22:33:59 +08:00   ❤️ 1
    @luztak setting那个文件自己reload自己?不行的,必须另一家伙告诉进程reload这个文件。

    不施以任何外力,物体是不会动的。
    luztak
        15
    luztak  
    OP
       2013-01-01 22:45:39 +08:00
    luztak
        16
    luztak  
    OP
       2013-01-01 22:52:13 +08:00
    @reusFork
    @aisk i
    @yuelang85
    @cloudzhou
    @Livid
    @dreampuf
    thx for your time.
    ps 前三位 我的手机触屏抽风一下点成回复了...莫怪..
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1147 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 51ms · UTC 23:01 · PVG 07:01 · LAX 16:01 · JFK 19:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.