【问题标题】:Python source code changes not appearing in program executionPython 源代码更改未出现在程序执行中
【发布时间】:2017-08-08 09:18:52
【问题描述】:

我有一个由 bash 脚本调用的 python 程序。 bash 脚本的输出保存到日志文件中。

起初python代码由于缺少配置文件(错误位置)而引发错误。

这就是日志文件的样子,

python /tda/elasticsearch/init_upload.py --lang_pair=en-us_ru-ru 350 372 408 580 615 635 664 67
2 678 690 714 743 765 818 833 855 878 900 924 948 1016 1041 1056 1086 1142 1161 1233 1339 1343
1353 1355 1412 1468 1477 1480 1503 1504 1505 1514 1520 1533 2212 2243 2268 2301 2387 2430 2441
2448 2453 2462 2568 2608 2617 2618 2671 2686 2698 2712 2741 2752 2762 2782 2786 2794 2805 2825
2837 3106 3279 3323 3331 3339 3348 3564 3566 3591 3618 3632 3644 3650 3685 3687 3704 3709 3710
3711 3712 3713 3733 3735 3742 3756 3802 3902 3937 3965 4145 4185 4258 4299 4300 4566 4604 4605
4776 4851 4877 5000 5242 5244 5245 5247 5294 5300 5302 5327 7301 7518 7544 7639 7640 7641 7656
Traceback (most recent call last):
  File "/tda/elasticsearch/init_upload.py", line 9, in <module>
    from init import query_all
  File "/tda/elasticsearch/init.py", line 8, in <module>
    from langpair import LanguagePair
  File "/tda/elasticsearch/langpair.py", line 2, in <module>
    from index import Index
  File "/tda/elasticsearch/index.py", line 14, in <module>
    CONF_DIR = "%s/confs" % CONFIG.workingdir
AttributeError: 'Config' object has no attribute 'workingdir'

我后来修复了错误并重新运行了程序,但不知何故,当我执行程序时源代码更改似乎没有反映出来。即使在删除日志文件并再次运行程序后,我仍然收到相同的错误。

Python 抱怨这一行,

File "/tda/elasticsearch/index.py", line 14, in <module>
        CONF_DIR = "%s/confs" % CONFIG.workingdir

但是这一行已经更新为,

CONF_DIR = os.path.join(CONFIG.workingdir, "confs")

所以不知何故源代码更改没有反映。

【问题讨论】:

  • 您确定您正在编辑正确的文件吗?
  • 是的,我对此非常确定。如果我只是使用错误日志中给出的文件位置打开文件,我可以看到更新后的代码。

标签: python bash debian


【解决方案1】:

这不应该发生,因为通常 Python 足够聪明,可以找到文件何时被编辑,但有时会使用陈旧的 .pyc 文件 - 这通常暗示发生了奇怪的事情。

解决方法只是删除文件夹中的所有 .pyc 文件,它们将在下次运行时(从当前源)重新创建。

pyc 文件是刚刚编译的(字节码)python,它被缓存以加快执行速度。

【讨论】:

  • 对不起,我没有提到它,但我已经尝试清除所有 pyc 文件,但这也没有帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多