python - 通过网络同时运行 python 脚本。这个可以吗?

标签 python windows networking

我们在网络驱动器上有一个 python 脚本 + 相关模块。我们同时从多台计算机同时运行这个脚本。

有时其中一个随机失败并出现如下错误:

Traceback (most recent call last):
  File "\\chifs02.int.tt.local\group\Development\Server Products\Automation\repos\mksutils\fetch.py", line 16, in <module>
    from scripts import write_set_environment
NameError: Can't find file for module scripts
(filename \\chifs02.int.tt.local\group\Development\Server Products\Automation\repos\mksutils\scripts.pyc)

我注意到的一个奇怪之处是 .py 文件最后一次修改是在几个月前,但 .pyc 只存在了几个小时,尽管从那时起至少每天运行一次。

我以前从未见过这个NameError: Can't find file for module scripts 错误,谷歌也没有提供太多帮助。

所有涉及的计算机都运行 Windows。

最佳答案

不要那样做,“那个”是指有多台计算机试图使用相同的 .pyc(s)。

pyc 被修改的可能原因是您在不同计算机上的 Python 版本可能略有不同。一个编写了它自己的 .pyc 版本,另一个出现了,发现它不是它所期望的,然后编写了它自己的版本。

在不同计算机同时尝试处理相同的 .pyc 文件的情况下,可能会出现奇怪的错误,这一点也不会让我感到惊讶。这是竞争条件的邀请,因为没有使用锁定机制。

要么让每个系统在运行之前将脚本复制到本地位置,要么禁用 .pyc 生成(-B 命令行标志或设置 PYTHONDONTWRITEBYTECODE 环境变量)。

关于python - 通过网络同时运行 python 脚本。这个可以吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5995467/

相关文章:

windows - Azure 存储更改传播到实例的速度有多快?

c++ - 微过滤器 PRE_OP_CALLBACK 未被调用

windows - CPU 使用率是如何计算的?

node.js - Node js错误: listen EADDRNOTAVAIL 52. **.**.***:1122

python - '重新排序'/适应 matshow 矩阵图的刻度

python - Pandas DataFrame 的 Keras LSTM 形状

python - Python 中的数据透视表

python - 如何使用tensorflow读取Excel文件?

linux - 如何让netcat多次接收数据包?

architecture - 由于 IPv6 将取代 IPv4,我应该开发我的新应用程序来支持它吗?