人生苦短 我用python
开始愉快的享(代)受(码)时间:
参考如下:
- 针对问题:将自己的项目代码发送给别人运行时 报错 发现很多第三方相关包文件对方没有安装 那么为了避免此类问题 可以通过在自己代码中实现自动检测并安装相关包 从而避免对方的困扰
- 解决代码如下: 这里针对fake-useragent 这个第三方包 做演示
方式1:
try:
from fake_useragent import UserAgent
except ModuleNotFoundError as e:
print("要先安装包!!! pip install fake-useragent")
import os
p = os.popen("pip install fake-useragent")
print(p.read())
from fake_useragent import UserAgent
finally:
agent = UserAgent()
方式2:
def install_package(package_name):
package_name = package_name.replace("_", "-") # 下载pip fake_useragent 包时 包名是:fake-useragent
p = os.popen("pip list --format=columns") # 获取所有包名 直接用 pip list 也可获取
pip_list = p.read() # 读取所有内容
print(pip_list)
if package_name in pip_list:
print("已经安装{}".format(package_name))
return True
else:
print("没有安装{}!即将自动安装,请稍后".format(package_name))
p = os.popen("pip install {}".format(package_name))
if "Success" in p.read():
print("安装{}成功!".format(package_name))
return True if "Success" in p.read() else False
# 调用执行检测 如果没安装 则自动安装
install_package('fake_useragent')
from fake_useragent import UserAgent