人生苦短 我用python
開始愉快的享(代)受(碼)時(shí)間:
參考如下:
- 針對(duì)問(wèn)題:將自己的項(xiàng)目代碼發(fā)送給別人運(yùn)行時(shí) 報(bào)錯(cuò) 發(fā)現(xiàn)很多第三方相關(guān)包文件對(duì)方?jīng)]有安裝 那么為了避免此類問(wèn)題 可以通過(guò)在自己代碼中實(shí)現(xiàn)自動(dòng)檢測(cè)并安裝相關(guān)包 從而避免對(duì)方的困擾
- 解決代碼如下: 這里針對(duì)fake-useragent 這個(gè)第三方包 做演示
方式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 包時(shí) 包名是:fake-useragent
p = os.popen("pip list --format=columns") # 獲取所有包名 直接用 pip list 也可獲取
pip_list = p.read() # 讀取所有內(nèi)容
print(pip_list)
if package_name in pip_list:
print("已經(jīng)安裝{}".format(package_name))
return True
else:
print("沒有安裝{}!即將自動(dòng)安裝,請(qǐng)稍后".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
# 調(diào)用執(zhí)行檢測(cè) 如果沒安裝 則自動(dòng)安裝
install_package('fake_useragent')
from fake_useragent import UserAgent