【问题标题】:Editing python scripts on-line?在线编辑python脚本?
【发布时间】:2015-08-28 23:11:16
【问题描述】:

我正在做一些奇怪的练习来编辑在我的实验室上运行的 python 脚本。我只想知道我正在做的事情是否还可以,并学习其他更好的做法来做这种事情。我的实验室里有三台计算机运行 python 脚本来进行心理测试并存储参与者数据。为了同步我们收集的全部数据,我们在三台计算机的共享 Dropbox 文件夹上运行 python 脚本。实验室的研究助理做测试,大约每小时两三个测试,我在家看数据或编辑脚本!因为我不想让我的编辑为运行测试而烦恼,所以我正在做这个技巧:

每当我编辑脚本时,我都会将其编译pyc 文件中,并且实验室中的计算机只运行编译后的脚本 (.pyc)。我已经检查过,即使我删除或重命名正在运行的pyc 文件,它也不会对测试造成损害,所以我认为这种做法确保我可以随时编辑我的脚本并编译它以及下一个测试将与新版本无缝运行。

如果我知道您对此的想法,我将不胜感激。

编译:

python -m myscript.py

运行:

python myscript.pyc

【问题讨论】:

  • 版本控制是这里的最佳实践,但如果你的策略适合你,那就去做吧。您还可以拥有该文件的两个副本。这样可以更轻松地查看所做的更改。

标签: python compilation edit dev-to-production


【解决方案1】:

您应该将脚本置于版本控制之下。这样可以更轻松地查看给定参与者使用的确切版本,并确保您只推出您满意的版本。

【讨论】:

  • 我已经在我的数据表中添加了一个version 数据字段。有没有更好的方法来做到这一点?
  • @EhsanAbd:您可以使用各种专用程序来跟踪文件的版本历史记录。现代流行的包括GitMercurial,它们都是开源的。
  • 这很好地解释了版本控制的用途:git-scm.com/book/en/v2/Getting-Started-About-Version-Control
【解决方案2】:

完全合法。如果编辑机与测试机的时间不同步,它也有助于避免奇怪的日期问题。诚然,这些天这不是一个常见的问题,但我一直被它所困扰:我更新了 .py,但是编译器运行了 pyc,因为我在本地机器上进行了编辑,并将其推送到了测试机器上,它是时间比 pyc 早,所以 pyc 不会被重新编译。

显式地重新编译它,并将其推出可以防止这种情况发生。

此外,它不鼓励人们调整文件。

【讨论】:

    猜你喜欢
    • 2023-01-08
    • 2017-06-17
    • 2018-02-23
    • 2016-12-11
    • 1970-01-01
    • 1970-01-01
    • 2019-05-20
    • 2023-04-03
    • 1970-01-01
    相关资源
    最近更新 更多