只需一行代码,就能导入所有的Python库?

大家好,我是小F~
今天给大家介绍一个懒人 Python 库—— Pyforest。
使用一行代码,就能导入所有的 Python 库(本地已经安装的)。
GitHub地址:https://github.com/8080labs/pyforest
介绍
Python 因为有着成千上万个功能强大的开源库,备受大家的欢迎。
目前,通过 PyPl 可以导入超过 23.5 万个 Python 库,数量庞大。
在大家平常的实践当中,一般都是需要导入多个库或者框架来执行任务。
而且每当新建一个程序文件时,都需要根据自己的需求导入相关的库。
如果是相同类型的任务,比如想做一个数据可视化的小项目,可能会一直使用到某个库。
如此,反复编写同一条 import 语句,就算是复制粘贴,也会感觉到麻烦,这时 Pyforest 库就可以上场了。
Pyforest 是一个开源的Python库,可以自动导入代码中使用到的 Python 库。
在进行数据可视化的时候,一般都需要导入多个库,比如 pandas、numpy、matplotlib 等等。
使用了 Pyforest ,每个程序文件中就不需要导入相同的 Python 库,而且也不必使用确切的导入语句。
比如下面这行代码,就可以省略掉。
from sklearn.ensemble import RandomForestClassifier
在你使用 import 语句导入 Pyforest 库后,你就可以直接使用所有的 Python库。
import pyforest
df = pd.read_csv('test.csv')
print(df)
你使用的任何库都不需要使用import语句导入,Pyforest 会为你自动导入。
只有在代码中调用库或创建库的对象后,才会导入库。如果一个库没有被使用或调用,Pyforest 将不会导入它。
使用
安装,使用以下命令安装 Pyforest。
pip install pyforest -i https://pypi.tuna.tsinghua.edu.cn/simple
安装成功后,使用 import 语句导入它。
现在,你可以直接使用相关的 Python 库,无需编写 import 导入。
先以 jupiter notebook 为例,我们没有导入 pandas、seaborn 和 matplotlib 库,但是我们可以通过导入 Pyforest 库直接使用它们。
读取数据,这个是国内棉花产量排行前三的省份,新疆全国第一(数据来源:国家统计局)。
那么 Pyforest 可以导入所有库吗?
目前这个包包含了大部分流行的 Python 库,比如
pandas as pd
NumPy as np
matplotlob.pyplot as plt
seaborn as sns
除了这些库之外,它还提供了一些辅助的 Python 库,如 os、tqdm、re 等。
如果你想查看库列表,可以使用 dir(pyforest) 进行查看,内置的是 68 个库。
import pyforest
print(len(dir(pyforest)))
for i in dir(pyforest):
print(i)
-------------------------
68
GradientBoostingClassifier
GradientBoostingRegressor
LazyImport
OneHotEncoder
Path
RandomForestClassifier
RandomForestRegressor
SparkContext
TSNE
TfidfVectorizer
...
如果没有的话,可以进行自定义添加,在主目录中的文件写入 import 语句。
示例如下。
vim ~/.pyforest/user_imports.py
添加语句,此处便能在代码中使用 requests 这个库。
# Add your imports here, line by line
# e.g
# import pandas as pd
# from pathlib import Path
# import re
import requests as req
~
~
"~/.pyforest/user_imports.py" 7L, 129C
这回我们在 PyCharm 中来实验一下。

发现 PyCharm 的自动补全的功能失效了,看来这个库还是比较适合 jupyter notebook (自动补全代码还可以使用)。
除了上面这个地方可以自定义添加,还可以在库的 _import.py 文件中添加。
此处以 Pyechars 为例,缩写为 chart。

可视化代码如下。
新疆棉花产量年年上升,其它省份年年下降...
最后 Pyforest 还提供了一些函数来了解库的使用情况。
# 返回已导入并且正在使用的库列表
print(pyforest.active_imports())
--------------------------------
['import pandas as pd', 'import requests as req', 'import pyg2plot']
# 返回pyforest中所有Python库的列表
print(pyforest.lazy_imports())
--------------------------------
['import glob', 'import numpy as np', 'import matplotlib.pyplot as plt'...]
只有代码中有使用到的库,程序才会 import 进去,否则不会导入的哦!
总结
好了,到此本期的分享就结束了。
使用到的代码及文件已上传,回复「pyforest」即可获取。
使用 Pyforest 库有时候确实是可以节省一些时间,不过也是有弊端存在的。
比如调试的时候(大型项目),可能会很痛苦,不知道是哪里来的库。
所以建议大家,在一些独立的脚本程序中使用,效果应该还是不错的。

☞三机齐发!五大全球首发的“安卓机皇”4999元起,“安卓之光” 5999元起
-
WeRSS高效的开源微信公众号订阅工具
WeRSS 是一个用于订阅和管理微信公众号内容的工具,提供了 RSS 订阅功能。该项目采用前后端分离架构,后端使用 Python + FastAPI 搭建,前端基于 Vue 3 + Vite 开发,数
-
VeighNa基于Python的开源量化交易系统开发框架
VeighNa是一款基于 Python 的开源量化交易系统开发框架,该项目定位于为交易员和金融机构提供一站式量化交易解决方案,既支持策略研发、回测,又具备实盘交易功能。VeighNa汇集了众多国内外交
-
n8n兼具代码灵活性和可视化简单操作的开源神器
n8n,一款兼具代码灵活性和可视化简单操作的开源神器,让这些事情分分钟搞定!它支持 400+ 应用和服务,内置 AI 能力,既能拖拽完成任务,也能用代码搞定复杂逻辑,还能自托管,掌控所有数据。什么是
[广告]赞助链接:
关注数据与安全,洞悉企业级服务市场:https://www.ijiandao.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

随时掌握互联网精彩
- NVIDIA新显卡驱动修复8个重大安全漏洞
- 免费好用的解压软件有哪些?
- 美国要让谷歌分拆 出售安卓等资产:谁会接盘 国产厂商有机会吗
- BlueHost和Hostwinds主机哪个好?
- 雷军:小米汽车争取15-20年进入世界前五;GitHub宣布裁员10%,全员转远程办公;谷歌AR/VR负责人宣布离职|极客头条
- 这 11 种编程语言,还“活着”吗?
- 历史上的今天:PHP公开发布;iPhone 4 问世;万维网之父诞生
- 上好“安全锁”!又拍云携手 Cloudflare邀您为出海业务保驾护航
- 实力装备一键购齐,骁龙京东超品日来啦
- 5G射频前端:解决5G时代终端设计难题
- 2021,要不断学习!吴恩达等 AI 大佬发表新年寄语
- 云原生网络代理(MOSN)的进化之路