我想使用 Python 编译(.pyc或__pycache__)运行 Pythonic 项目。为了在Python2 中做到这一点,我没有任何问题。这是Python2项目中的一个简化示例:项目树:test2├── main.py└── subfolder ├── __init__.py └── sub.py编译:python -m compileall test2编译后的项目树:test2├── main.py├── main.pyc└── subfolder ├── __init__.py ├── __init__.pyc ├── sub.py └── sub.pyc如您所见,有几个是.pyc手动生成的。现在我可以使用main.pycasfine运行这个项目,它与以下内容有关sub.py:python main.pyc出去:HiByemain.py 内容:from subfolder import subprint('Bye')子.py内容:print('Hi')现在我想在Python3项目中重试这种行为。这是一个简化的asyncio(在Python3 中可用)项目:项目树:test3├── main.py└── subfolder ├── __init__.py └── sub.py编译:python3 -m compileall test3编译后的项目树:test3├── main.py├── __pycache__│ └── main.cpython-36.pyc└── subfolder ├── __init__.py ├── __pycache__ │ ├── __init__.cpython-36.pyc │ └── sub.cpython-36.pyc └── sub.py如您所见,__pycache__文件夹是手动生成的。但是我不能使用main.cpython-36.pyc它来运行这个项目,它与subfolder以下有关系:cd test3/__pycache__python3 main.cpython-36.pyc出(我预计会产生Hi Bye消息):Traceback (most recent call last): File "test3/main.py", line 2, in <module>ModuleNotFoundError: No module named 'subfolder'main.py 内容:import asynciofrom subfolder import subasync def myCoroutine(): print("Bye")def main(): loop = asyncio.get_event_loop() loop.run_until_complete(myCoroutine()) loop.close()main()子.py内容:print('Hi')题:如何使用文件夹运行此项目(在Python3项目之上)__pycache__?或者如何使用python编译运行具有子文件夹之间关系的Python3项目?[注意]:由于方法的原因,我无法在上述项目中使用python compileall(Python2 compile)。Python3asyncio我的 Python(s) 版本是Python2.7和Python3.6
添加回答
举报
0/150
提交
取消