python - 如果没有,请尝试导入,在 python 中安装
问题描述
如果未安装,我正在尝试在 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']
, thenargparse
将被安装,但Bio
不会。
解决方案
不要这样做。
反而:
要么用准确的依赖关系正确地打包你的 Python 项目(查找setuptools、poetry、flit或任何其他类似的项目);
或指示您的用户自己安装项目的依赖项,您可以通过提供pip兼容
requirements.txt
文件来促进这一点。
此处的附加说明是如何“使用程序中的 pip”。
推荐阅读
- javascript - 扫描表单按钮并采取行动
- scala - Wrap 方法与链方法
- javascript - 如何在 p5.js 中裁剪图像而不在屏幕上绘制图像
- google-app-maker - 返回创建的项目密钥
- python - Pandas 合并处理连接输出中的重复项
- python - 如何在保持其含义的同时将这些包含字符串的 pandas 列转换为浮点数?
- python - 运行代码时出现 ModuleNotFoundError,但在 ipython 中有效
- jquery - AJAX POST方法在android中不起作用
- python - 定义一个获取列表中最高产品对的函数
- python - 使用 python/pynco 初始化 Nco 对象时出现 TypeError