Python源代码更改未出现在程序执行中

时间:2017-08-08 09:18:53

标签: python bash debian

我有一个由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")

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

1 个答案:

答案 0 :(得分:1)

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

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

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