【发布时间】:2026-02-17 19:35:01
【问题描述】:
如果没有安装,我会尝试在 python 中自动安装每个库。
#!/usr/bin/python
# -*- coding: utf-8 -*-
from pip._internal import main
pkgs = ['Bio==0.1.0','argparse==1.4.0']
for package in pkgs:
try:
import package
except ImportError:
main(['install', package])
但是,出现了这个错误:
Collecting Bio==0.1.0
Using cached https://files.pythonhosted.org/packages/14/c2/43663d53b93ef7b4d42cd3550631552887f36db02c0150d803c69ba636a6/bio-0.1.0-py2.py3-none-any.whl
Installing collected packages: Bio
Successfully installed Bio-0.1.0
Collecting argparse==1.4.0
Using cached https://files.pythonhosted.org/packages/f2/94/3af39d34be01a24a6e65433d19e107099374224905f1e0cc6bbe1fd22a2f/argparse-1.4.0-py2.py3-none-any.whl
ERROR: Could not install packages due to an EnvironmentError: [Errno2] No such file or directory: '/tmp/pip-req-tracker-6sqtap8q/139713c65f8ac559a034717470dc5a6e30a6db86bdc3d69fe2bc0e63'
我注意到这总是在第一次安装库之后发生,例如:如果我将 ['Bio','argparse'] 更改为 ['argparse','Bio'],则将安装 argparse,但不会安装 Bio。
【问题讨论】:
-
这能回答你的问题吗? Installing python module within code
-
还要考虑*.com/questions/6120902/…的前两个答案
-
from pip._internal import main_internal中的下划线表示“不要使用这个”。事实上,pip 的main()函数被故意移到pip._internal模块中,以阻止人们以这种方式使用它,因为这样做根本不安全。自动安装软件包虽然看起来很方便,但最终对用户不利,因为它会以潜在的不可预测的方式修改他们的系统。相反,请只提出一个问题,但要注意缺少哪些依赖项。
标签: python pip python-import