如何在导入其他一些 .py 文件时 运行 一个 .pyc 文件?

How to run a .pyc file when it imports some other .py files?

main.py

import other

def main():
   other.test()

main()

other.py

def test():
   print("Hello")

通过使用 python3 -m py_compile *.py,我可以拥有 2 个 .pyc 文件。

但是,如果有no module named othermain.pyc就不能运行,这是我从终端得到的错误。

想法是将整个项目从 .py 编译到 .pyc,这样人们就可以 运行 它们而无需共享源代码。

那么,如何在不共享源代码的情况下运行这个main.pyc导入其他库?

问机器学习组。这是我发现的。 只要,main.pyother.py被编译成main.pycother.pyc,我就可以运行它python3 main.pyc

在此之前,我的python自动将other.py转换为other.cpython-35.pyc。在这种情况下,main.pyc 不能 import other,因为文件夹中没有 other(现在称为 other.cpython-35)。

因此,请确保 .pyc 文件与 .py 同名,然后你可以 运行 任何一个,python 将包含 .pyc 执行命令时给你的文件。

这也可以通过这个命令来实现:

python -m compileall -b .