为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 __pycache__ 文件夹运行 Python 项目?

如何使用 __pycache__ 文件夹运行 Python 项目?

蝴蝶不菲 2021-09-24 16:18:17
我想使用 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
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 253 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信