2 回答

TA貢獻1848條經(jīng)驗 獲得超6個贊
顯而易見的事情是接受pip
的建議并更新它。如果你不能這樣做,錯誤信息應(yīng)該是無害的——pip
執(zhí)行的檢查通常不會阻止它工作。
您可以使用禁用版本檢查
proc = subprocess.Popen(['pip', 'freeze', '--disable-pip-version-check'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)

TA貢獻1828條經(jīng)驗 獲得超3個贊
我正在使用 pkg_resources 模塊來獲取這些信息:
import pkg_resources
from subprocess import call
# If you want to skip some packages
exception = ['scipy', 'numpy']
# List comprehension to get the packages
pack_names = [d for d in pkg_resources.working_set
if d.project_name not in exception]
# print the package names and versions
for dist in pack_names:
print('PACKAGE: {}'.format(dist))
# And if you want to upgrade this package:
call('pip install --upgrade --no-cache-dir ' + dist.project_name, shell=True)
希望這可以幫助。
添加回答
舉報