2017-10-17 82 views
0

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

import other 

def main(): 
    other.test() 

main() 

other.py

def test(): 
    print("Hello") 

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

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

这个想法是将整个项目从.py编译到.pyc,这样人们可以在不共享源代码的情况下运行它们。

那么,如何运行这个main.pyc其中导入其他库,而不共享源代码?

+0

你试过直接执行other.pyc吗? – georgexsh

+0

其实我试过了。但是,如果在.pyc文件中没有函数调用,你认为会发生什么?请看看上面的other.py文件。即使它转换为.pyc,它里面仍然没有函数调用。 @georgexsh – idontknoooo

+0

这对我有用,你的环境是什么? – georgexsh

回答

0

问机器学习小组。这是我发现的。 只要将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文件,当你执行的命令。