首页 > 其他分享 >pip一次性安装很多库

pip一次性安装很多库

时间:2023-02-23 23:55:06浏览次数:42  
标签:lib 一次性 color print install pip 安装

# !/usr/bin/env python
# -*- coding:utf-8 -*-
# @FileName  :py_venv -> pip 一次性安装很多库.py
# @IDE       :PyCharm
# @Time      :2022/5/9 17:15
# @Author    :杨晓东
# @Email     :[email protected]
# @homepage  :www.demo443.com
"""
    pip一次性安装很多库

    1、问题描述:有时候我们想要安装许多python库来进行work,但一条条安装过于麻烦,所以想一次性安装所需的所有库。

    2、问题解决:首先将自己所需的库放在一个requirement.txt文件中,然后通过参数-r来安装文件里所列出的所有库。示例如下:

    pip install -r requirement.txt

    1、   如果安装的比较慢,可以换安装源,需要参数-i,示例如下:

    pip install -i https://pypi.douban.com/simple -r requirement.txt
        or
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirement.txt
        or
    pip install -i https://mirrors.aliyun.com/pypi/simple -r requirement.txt

    requirement.txt

    asyncio
    bs4
    beautifulsoup4
    docopt
    docx
    django
    flask
    werobot
    wheel
    requests
    lxml
    xlwt
    numpy
    networkx
    sklearn
    Scikit-Learn
    TensorFlow
    Keras
    Scapy
    scrapy
    SciPy
    selenium
    sympy
    matplotlib
    multiprocessing
    threading
    jieba
    jsonpath
    pandas
    Pillow
    playwright
    pdfplumber
    pypdf2
    pyautogui
    pyperclip
    Pyglet
    pymysql
    pyqt5
    pywifi
    pyopengl
    pygame
    pyinstaller
    pymongo

"""

import os
import threading


def auto_install_idle():
    '''
    print()输出内容   为默认颜色
    :return:
    '''
    libs = ['requests', 'asyncio', 'bs4', 'beautifulsoup4', 'docopt', 'docx', 'django', 'flask', 'werobot', 'wheel',
            'lxml', 'xlwt',
            'numpy', 'networkx', 'sklearn', 'Scikit-Learn', 'Keras', 'Scapy', 'scrapy', 'SciPy',
            'selenium', 'sympy', 'matplotlib', 'multiprocessing', 'threading', 'jieba', 'jsonpath', 'pandas', 'Pillow',
            'playwright', 'pdfplumber',
            'pypdf2', 'pyautogui', 'pyperclip', 'Pyglet', 'pymysql', 'pyqt5', 'pywifi', 'pyopengl', 'pygame',
            'pyinstaller', 'pymongo', 'uvloop', 'aioredis', 'aiomysql', 'aiohttp', 'TensorFlow', 'openpyxl', 'PyExecJS'
            , 'itchat']
    # 计数器
    num = 0
    # 需要安装的库的数量
    a = len(libs)
    # 统计出错次数
    c = 0
    for lib in libs:
        # 已执行数量
        num += 1
        # 剩余未执行数量
        b = a - num

        try:
            print('当前安装第 ', num, ' 个库,剩余:', b, ' 个库正在等待安装....')
            print('开始安装: ', lib)
            print("执行命令:  pip install -i https://pypi.tuna.tsinghua.edu.cn/simple " + lib)
            os.system('pip install -i https://pypi.tuna.tsinghua.edu.cn/simple ')
            print(lib + ':' + '  installed successful 已安装成功!')
        except:
            # 出错次数累计
            c += 1
            print(lib + '  installed failed      安装失败!')

    print(libs, '\n', "已成功安装", num, "个库!", c, "个异常!   \n程序退出!")


def thread_pip(pip_name):
    os.system('pip install -i https://pypi.tuna.tsinghua.edu.cn/simple ' + pip_name)
    print('pip install -i https://pypi.tuna.tsinghua.edu.cn/simple ' + pip_name)


def auto_install_pycharm():
    '''
    改变 print() 输出内容的颜色
    :return:
    '''
    # print 字体紫色
    color_a = "\033[1;35m"
    color_b = '\033[0m'
    # color_a +
    # + color_b

    libs = ['requests', 'asyncio', 'bs4', 'beautifulsoup4', 'docopt', 'docx', 'django', 'flask', 'werobot', 'wheel',
            'lxml', 'xlwt',
            'numpy', 'networkx', 'sklearn', 'Scikit-Learn', 'Keras', 'Scapy', 'scrapy', 'SciPy',
            'selenium', 'sympy', 'matplotlib', 'multiprocessing', 'threading', 'jieba', 'jsonpath', 'pandas', 'Pillow',
            'playwright', 'pdfplumber',
            'pypdf2', 'pyautogui', 'pyperclip', 'Pyglet', 'pymysql', 'pyqt5', 'pywifi', 'pyopengl', 'pygame',
            'pyinstaller', 'pymongo', 'uvloop', 'aioredis', 'aiomysql', 'aiohttp', 'TensorFlow', 'openpyxl', 'PyExecJS']
    # 计数器
    num = 0
    # 需要安装的库的数量
    a = len(libs)
    # 统计出错次数
    c = 0
    for lib in libs:
        # 已执行数量
        num += 1
        # 剩余未执行数量
        b = a - num

        try:
            print(color_a + '当前安装第 ', num, ' 个库,剩余:', b, ' 个库正在等待安装....' + color_b)
            print(color_a + '开始安装: ', lib + color_b)
            print(color_a + "执行命令:  pip install -i https://pypi.tuna.tsinghua.edu.cn/simple " + lib + color_b)
            os.system('pip install -i https://pypi.tuna.tsinghua.edu.cn/simple ' + lib)
            print(color_a + lib + ':' + '  installed successful 已安装成功!' + color_b)
        except:
            # 出错次数累计
            c += 1
            print("\033[1;31m" + lib + '  installed failed      安装失败!' + color_b)

    print(color_a + str(libs), '\n', "已成功安装", num, "个库!", c, "个异常!   \n程序退出!" + color_b)


if __name__ == '__main__':
    auto_install_pycharm()
    # auto_install_idle()
    # libs = [
    #     'pyquery', 'asyncio', 'python-utils', 'aiohttp', 'aiofiles',
    #     'aiomysql', 'aioredis', 'requests', 'bs4',
    #     'beautifulsoup4', 'docopt',
    #     'docx', 'django', 'flask', 'werobot', 'wheel',
    #     'lxml', 'xlwt',
    #     'numpy', 'networkx', 'sklearn', 'Scikit-Learn', 'Keras', 'Scapy', 'scrapy', 'SciPy',
    #     'selenium', 'sympy', 'matplotlib', 'multiprocessing', 'threading', 'jieba',
    #     'jsonpath', 'pandas', 'Pillow',
    #     'playwright', 'pdfplumber',
    #     'pypdf2', 'pyautogui', 'pyperclip', 'Pyglet', 'pymysql', 'pyqt5',
    #     'pywifi', 'pyopengl', 'pygame',
    #     'pyinstaller', 'pymongo', 'uvloop', 'TensorFlow', 'execjs'
    # ]
    #
    # threads = []
    # for i in libs:  # 循环创建多个个线程
    #     t = threading.Thread(target=thread_pip, args=(i,))
    #     threads.append(t)
    #     t.setDaemon(True)  # 给每个子线程添加守护线程
    # for t in threads:  # 循环启动创建的线程
    #     t.start()
    # for t in threads:
    #     t.join(5)  # 设置子线程超时2秒
    #
    # print("thread end")

标签:lib,一次性,color,print,install,pip,安装
From: https://www.cnblogs.com/demo443/p/17149927.html

相关文章

  • Tomcat8 安装及配置步骤
    Tomcat8安装及配置步骤1.下载tomcat8https://tomcat.apache.org/download-80.cgi#8.5.85根据自己电脑的系统,下载对应的版本zip,我下载的是window64位的zip包2.解压......
  • win/ubuntu/centos 安装后台监控工具btop
    之前linux平台进行后台监控一直是简单的看top,但界面太难看而且需要记的缩写太多而且不直观(对于我来说),后面有尝试替换htop,扩展支持了鼠标操作以及直观监控,但是界面还是难......
  • node-sass安装失败解决方法
    项目npminstall报错:没有安装python或node-sass安装失败的问题!!!既然看到node-sass安装失败,我就又重新单独安装了node-sass,但还是失败。猜测是网络原因,但是换了全局的淘......
  • jenkins简单安装及配置(Windows环境
    jenkins简单安装及配置(Windows环境)jenkins是一款跨平台的持续集成和持续交付、基于Java开发的开源软件,提供任务构建、持续集成监控的功能,可以使开发测试人员更方便的......
  • PX4安装和编译遇到一些坑
    最近由于实验需要,又得安装px4和gazebo,特此记录一些遇到的bug和解决方法,希望能帮助其他uu。1下载一般的安装步骤如下(不建议完全按下面命令执行):点击查看代码gitcloneh......
  • 服务器因代理无法pip的解决办法
    问题描述服务器或ubuntu因为开了代理而无法正常pip解决方法查看代理env|grep-iproxy根据情况删除代理unsethttp_proxy和unsethttps_proxy之后即可正常pip,也......
  • 离线安装python第三方库
    有些公司,特别是一些大公司,对于网络安全这一块非常重视。上班用的电脑,系统都是公司标装系统,访问外网有很多限制,甚至只允许访问内网环境,不允许直接访问外网环境。这就导致我......
  • SQLite-安装,环境变量添加
    今后的Android编程中将使用SQLite,于是乎我们先要把它安装上。SQLite是什么?SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的SQL数据库引擎。......
  • 05. Kubernetes - 集群安装(二进制)
    安装准备区别于使用kubeadm部署集群时所有核心组件都托管在集群上。二进制安装则采用守护进程的方式直接将各个组件运行在宿主机,生产环境更为推荐。服务还是那些,只需要......
  • 【小白】FileZilla Window安装并连接 Centos7
    本文是小白教程 通过 FileZilla来实现 windows系统到Centos7 服务器的文件传输。FTP概述文件传输协议(FileTransferProtocol,FTP)是用于在网络上进行文......