如何在导入其他一些 .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 other
,main.pyc
就不能运行,这是我从终端得到的错误。
想法是将整个项目从 .py
编译到 .pyc
,这样人们就可以 运行 它们而无需共享源代码。
那么,如何在不共享源代码的情况下运行这个main.pyc
导入其他库?
问机器学习组。这是我发现的。
只要,main.py
和other.py
被编译成main.pyc
和other.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 .
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 other
,main.pyc
就不能运行,这是我从终端得到的错误。
想法是将整个项目从 .py
编译到 .pyc
,这样人们就可以 运行 它们而无需共享源代码。
那么,如何在不共享源代码的情况下运行这个main.pyc
导入其他库?
问机器学习组。这是我发现的。
只要,main.py
和other.py
被编译成main.pyc
和other.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 .