pycache怎么用_如何使用__pycache__文件夹运行Python项目?

我想使用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.pyc运行这个项目,因为它与sub.py有关系:

python main.pyc

日期:

Hi

Bye

> main.py内容:

from subfolder import sub

print('Bye')

> sub.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来运行这个项目:

cd test3/__pycache__

python3 main.cpython-36.pyc

Out(我预计会产生Hi Bye消息):

Traceback (most recent call last):

File "test3/main.py", line 2, in

ModuleNotFoundError: No module named 'subfolder'

> main.py内容:

import asyncio

from subfolder import sub

async def myCoroutine():

print("Bye")

def main():

loop = asyncio.get_event_loop()

loop.run_until_complete(myCoroutine())

loop.close()

main()

> sub.py内容:

print('Hi')

题:

如何使用__pycache__文件夹运行此项目(在Python3项目之上)?

要么

如何使用python编译运行带有子文件夹之间关系的Python3项目?

[注意]:

>由于asyncio方法,我不能在上面的Python3项目中使用python compileall(Python2编译).

>我的Python版本是Python2.7和Python3.6

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【资源说明】 课程设计基于Django+Python开发的图书销售管理系统源码+项目说明.zip Sales_system:主应用程序目录,这里用来调控整个项目 **__pycache__**:缓存文件夹,不用在意 **__init__**.py:初始化文件,不用在意 asgi.py:控制网关接口,与实验无关 settings.py:这是整个项目的设置文件,比较重要 urls.py:url接口文件,这里控制所有url访问 wsgi.py:控制网关接口,与实验无关 ss_env:这个文件夹用于创建虚拟环境,方便部署到服务器上,与实验无关 static:静态文件文件夹,用于存储所有静态文件 css:css文件目录 images:图片目录 migrations:迁移数据文件夹,用于将建好的模型迁移至数据库,使数据库创建相应table templates/system:页面目录,所有系统相关html文件都在这里 about.html:网站介绍页面 base.html:导航栏 books_display.html:书库页面 bookshop.html:书城页面 finance.html:财务页面 home.html:主页 info_detail:书籍详情页面 new_book_for_stock.html:进货时新建图书页面 new_book.html:新建图书页面 stock.html:进货页面 stockbills.html:货单页面 **__init__**.py:初始化文件,不用在意 admin.py:管理网站注册页面,在这里注册管理网站的模型,与实验无关 apps.py:应用程序文件,本项目没有用到 forms.py:表单文件,这里创建了需要使用到的表单模型 models.py:模型文件,这里定义了数据库模型,在迁移后数据库会根据模型建表 tests.py:测试文件,本项目没有用到 └── views.py:视图文件,这里编写了所有页面对应的后端视图,后端代码的处理都在这个地方 Userinfo:用户应用程序目录,这里实现了所有用户相关页面及其功能 **__pycache__**:缓存文件夹,不用在意 migrations:迁移数据文件夹,用于将建好的模型迁移至数据库,使数据库创建相应table templates:页面目录,所有用户相关html文件都在这里 registration logged_out.html:登出页面 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,也适用于小白学习入门进阶。当然也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或者热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载,沟通交流,互相学习,共同进步!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值