python包管理-conda(miniconda)

2023-11-17

配置整理

channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
  - http://mirrors.aliyun.com/anaconda/pkgs/main
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
auto_activate_base: false
envs_dirs:
  - F:\ProgramData\miniconda3\envs
pkgs_dirs:
  - F:\ProgramData\miniconda3\pkgs

安装配置

下载

Anaconda官网

Anaconda下载镜像

Miniconda

安装/配置环境变量

安装目录中不能有空格

Anaconda在安装时勾选添加到环境变量即可。

Miniconda版本新版安装不会再提示添加环境变量,需要手动添加环境变量。

以为安装在F:\ProgramData\miniconda3为例,分别在path变量添加以下路径

F:\ProgramData\miniconda3
D:\ProgramData\miniconda3\Scripts
D:\ProgramData\miniconda3\Library\bin
D:\ProgramData\miniconda3\Library\mingw-w64\bin

为了不影响原来的python环境建议将原来的py环境配置变量放到上方,conda的配置放到系统python之下

启动运行命令框,输入conda,如果结果显示如下图所示,说明Anaconda 的环境变量配置成功

image-20230110225549622

image-20230110225629600

windows电脑修改PowerShell运行策略

PowerShell出于安全考虑,默认的策略不允许执行脚本。不修改的话只能在cmd运行脚本。

Get-ExecutionPolicy表示获得当前环境执行PowerShell脚本的权限,这种权限有4个值

  • Restricted,默认设置,不允许运行任何脚本
  • AllSigned, 仅运行受信任脚本
  • RemoteSigned运行本地脚本,不管这些脚本是否受信任;
  • Unrestricted,允许运行所有脚本,甚至是不受信任的;

一般状况下把级别设置为RemoteSigned这样方便脚本调试运行。

以管理员运行在PowerShell窗口命令输入:

Set-ExecutionPolicy unrestricted 

Conda 命令行初始化

conda init powershell

conda安装后, 运行 conda activate xxx 切换环境时, 可能会报错

需要管理员运行cmd设置否则部分无权设置

conda 需要对当前的命令行环境初始化才能使用, 请根据你所使用的命令行工具来进行初始化, 输入命令如 conda init powershell 或者 conda init bash. 输入之后, 重启命令行即可.

初始化完成之后, 正常情况下, 每条命令前会显示当前的conda环境

image-20230111003326992

取消终端自动加载的base虚拟环境

在Conda 命令行初始化后,每次进入命令行都会自动加载conda(base)环境,导致系统python环境无法运行

conda config --set auto_activate_base false

执行后会在C:\Users\Hi\.condarc配置文件最后生成一句auto_activate_base: false

同时不会在每次打开命令时间加载base环境

image-20230111004503095

修改目录权限

默认情况新安装时miniconda3\envs的envs目录只有管理员有权限读写,需要修改权限方便所有用户读写

镜像配置

修改所有环境下python pip的镜像

# 设置镜像
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/

有两种方式修改镜像源

直接命令号执行

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
  • 设置安装时显示源地址, 方便安装时知道包来自哪个源

    conda config --set show_channel_urls yes
    

编辑C:\Users\Hi\.condarc文件,.condarc可能是隐藏的。

Windows 用户无法直接创建名为 .condarc 的文件,可先执行 conda config --set show_channel_urls yes 生成该文件之后再修改。

  • 清华镜像
channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  • 阿里云

    channels:
      - defaults
    show_channel_urls: true
    default_channels:
      - http://mirrors.aliyun.com/anaconda/pkgs/main
      - http://mirrors.aliyun.com/anaconda/pkgs/r
      - http://mirrors.aliyun.com/anaconda/pkgs/msys2
    custom_channels:
      conda-forge: http://mirrors.aliyun.com/anaconda/cloud
      msys2: http://mirrors.aliyun.com/anaconda/cloud
      bioconda: http://mirrors.aliyun.com/anaconda/cloud
      menpo: http://mirrors.aliyun.com/anaconda/cloud
      pytorch: http://mirrors.aliyun.com/anaconda/cloud
      simpleitk: http://mirrors.aliyun.com/anaconda/cloud
    

修改创建环境位置

创建时没有找到anaconda安装目录下的envs这个路径,新创建的环境在C:\Users\xxx.conda\envs\ 中

注意将路径的划分线改为双斜杠

在 C:\Users\用户名下有一个 .condarc 文件,将其打开,在其末尾添加下面内容:

envs_dirs:
  - F:\ProgramData\miniconda3\envs
pkgs_dirs:
  - F:\ProgramData\miniconda3\pkgs

conda config --show查看配置目录

修改默认启动环境

notepad $PROFILE	# 将会打开(如果没有会自动创建)Profile。
conda activate notes		# 在 Profile 文件中增加如下命令。下次,打开终端默认的 Conda python 环境将会是 notes 。

这个方法有用但是每次启用立即加载有点鸡肋了。还是老老实实去升级或降级base的py版本把

查看 conda 基本信息

# 查看 conda 版本信息
conda info

# 更新 conda 版本
conda update -n base conda 

# 输出conda的配置
conda config --show

虚拟环境管理

激活/退出环境

# 激活
conda activate envname_xxx
conda activate env_path		# 激活特定路径的环境

# 退出
conda deactivate

envname_xxx表示要激活的环境,如果忘记了名称可以先用conda env list查看所有虚拟环境

退出环境如果不在继续使用此命令行窗口,直接关闭该窗口静即可,关闭环境后面不需要指定环境名,默认关闭当前环境

修改创建环境位置

conda环境默认安装在用户目录C:\Users\username.conda\envs下,如果选择默认路径,那么之后创建虚拟环境,也是安装在用户目录下。不想占用C盘空间,可以修改conda虚拟环境路径。

创建时没有找到anaconda安装目录下的envs这个路径,新创建的环境在C:\Users\xxx.conda\envs\ 中

注意将路径的划分线改为双斜杠

添加下面两个前都需要先将对应目录权限开方否则会导致无法写入问题

在 C:\Users\用户名下有一个 .condarc 文件,将其打开,在其末尾添加下面内容:

envs_dirs:
  - F://ProgramData//miniconda3//envs
pkgs_dirs:
  - F://ProgramData//miniconda3//pkgs

conda config --show查看配置目录

已有环境查看

conda-env list

新安装只会有一个base默认环境

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cRdr4udU-1689435571658)(https://gitcode.net/qq_40597070/pic_go/raw/master/202301102332189.png)]

创建新环境

conda create --name envname_xxx python=3.4
conda create -n envname_xxx python=3.4				# -n是--name的简写作用一样
conda create -n envname_xxx python=3.7 numpy=1.16. matplotlib		# 也可在创建环境的同时安装一些其他包,也可以同时指定包的版本
conda create -n envName python==3.7.3 pip --no-deps		# 创建环境但不安装默认的包

以上命令效果相同,python34指创建新环境的名字,python=3.4指创建环境python版本,默认会自动安装该版本的最新版

需要注意经常会报错无权限操作目录,需要需要用管理方式打开命令行

第三种方式创建pip强烈建议安装否则将会直接使用自带的pip

删除环境

删除一个已有的环境和其中所有包

conda remove --name envname_xxx --all

删除某个环境, 还有一个比较暴力的方式就是直接删除anaconda安装路径下的 envs/env_name 文件夹

复制指定环境

conda create -n new_env_name  --clone old_clone_env_name

复制环境,复制 old_env_name, 新环境命名为 new_clone_env_name

复制指定目录将old_env_name替换为已有的环境即可

不可通过复制 anaconda 安装目录下 envs 下的文件夹来复制环境, 因为这样的操作不会自己改变此环境里的配置信息, 对复制后的环境的操作会影响到原环境

查看环境历史记录

此功能类似于git的版本记录,不过这个只适用于conda安装的包pip包不会记录

# 查看指定环境历史记录回溯
conda list -n env_name -r

image-20230113002731625

环境包回退到指定版本

conda list -n env_name -r	# 查看指定环境历史记录回溯
conda install -n env_name --revision REV_NUMBER

先通过上面的命令列出所有版本, 然后通过下面这个命令会退到某个版本

环境重命名

# 新版本支持方法
conda-script.py rename [-h] [-n ENVIRONMENT | -p PATH] [--force] [-d] destination
conda rename -n 现在的名称  新的名称

# 例子
conda rename -n test123 test321
conda rename --name test123 test321
conda rename -p path/to/test123 test321
conda rename --prefix path/to/test123 test321
conda create -n old_env_name --clone new_clone_env_name
conda remove -n old_env_name --all

目前没有直接重命名的命令, 需要先 clone 再 remove 旧环境

包管理

列出已安装包

conda list
# 列出当前环境已安装的所有包
conda list --revisions
# 列出当前环境的包管理变化的版本历史,列出当前环境变化的版本历史,这个版本记录类似与git的记录, 记录你每次的包管理操作后环境记录,这个命令关键时候可以救命, 比方说你手贱升级了某个环境, 发现有问题想回滚到之前的环境状态时
conda list -n env_name
# 列出指定环境的所有包
conda list --name env_name --revisions
# 列出指定环境的包管理变化的版本历史

安装包

conda install package_name
conda install PKGNAME==3.1.4	# 安装指定版本的包,一个等号或2个等号均可
conda install --yes PKG1 PKG2	# 安装包且输出命令提示,也就是直接安装不需要确认, 再写自动运行的脚本时会很有用

更新包

# 以管理员身份启动 Anaconda Prompt 后,
# upgrade和update相同

conda update conda         # 升级 conda(升级 Anaconda 前必需)
conda update anaconda      # 升级 anaconda
conda update --all         # 更新所有包,包括 Anaconda 和 conda
conda update --all -n env_name	# 升级指定环境环境的所有包, 不加-n env_name则代表升级所有包
conda update <package>     # 更新指定的<package> 包
conda update -h            # 其他尝试
conda upgrade pip # 升级pip

# pip包更新
python -m pip install --upgrade pip
pip install --upgrade <package> # 升级指定pip包,不建议使用此方法升级conda安装的包

卸载包

conda remove package_name
conda uninstall package_name		# 卸载当前环境的某个包
conda uninstall -n env_name package_name	# 卸载指定环境的某个包

清理不用的缓存和包

conda clean --all

有时可以轻轻松松清理出几个G, 但如果不是硬盘空间特别有限的情况, 建议不用清理, 因为安装包如果缓存中有这个包就不用重新下载了

环境包导出、导入

导出

conda导出需要注意的pip安装的包不会导出

# 导出已经激活环境包到YAML文件
conda list --explicit > "C:\Users\Hi\Desktop\requirements.yaml"

# 导出已经激活环境包到txt文件
conda list --explicit > "C:\Users\Hi\Desktop\requirements.txt"
conda list -e > "C:\Users\Hi\Desktop\requirements.txt"
pip freeze > "C:\Users\Hi\Desktop\requirements.txt"		# pip导出

导入

# 通过yaml文件创建环境
conda env create --file package_list.yaml		# 从YAML文件创建环境
conda env create		# 当前目录下有 package_list.yml 文件, 不输入文件名可以直接创建环境

# 通过txt文件创建环境
conda create --name new_env_name --file pkgs.txt

# 通过yaml或txt升级或者安装已有环境的包
conda env update --file package_list.yaml		# 安装到全局环境(不激活已有环境的情况)conda导出的yaml或者txt文件均可
conda env update -n env_name --file package_list.yaml	# 安装到指定环境,conda导出的yaml或者txt文件均可
pip install -r requirements.txt		# pip安装到当前环境,需要pip导出的txt文件

通过pip导入需要注意,conda导入的txt比pip导入的txt多了一些信息,有时并不通用

Packages(包)和Channels(源/通道)的使用

# 添加 Channels
conda config --add channels CHANNELNAME

# 使用conda从已配置的Channels中搜索包, 可以带上版本号, 笔者注: 用得少, 图形界面的系统下, 可以直接百度/google搜索更方便一点
conda search numpy=1.16

# 使用anaconda从所有Channels中搜索包
anaconda search FUZZYNAME

# 从指定通道安装包,如
conda install conda-forge::PKGNAME
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python包管理-conda(miniconda) 的相关文章

  • 导入错误:libGL.so.1:无法打开共享对象文件:没有这样的文件或目录

    我正在尝试运行 cv2 但是当我尝试导入它时 出现以下错误 ImportError libGL so 1 cannot open shared object file No such file or directory 网上建议的解决方案是
  • 从 STEP 文件中提取体积

    我的目标是编写一个Python程序来提取物体的体积STEP文件 我找到了步骤实用程序 https pypi org project steputils and 奥交换 https pypi org project aocxchange 是
  • 安装 python-dev 和链接库后,Cython 中的 Hello World 程序因 gcc 失败

    我创建了一个简单的 hello world 程序 并尝试使用 gcc 执行生成的 C 程序 但无论我做什么 我都会得到大量未定义的引用 SO 有很多类似的问题 但他们都说安装 python dev 或其某些变体 或添加用于链接和加载库的标志
  • 为什么我无法在 OS X 上更改 tkMessagebox.askyesno() 上的图标?

    tkMessageBox askyesno Title Message icon tkMessageBox WARNING 在 OS X 上只给我火箭图标 我知道 OS X 和 tkMessageBox 图标有些奇怪 因为tkMessage
  • 删除网格线,但保留框架(matplotlib 中的 ggplot2 样式)

    使用 Matplotlib 我想删除图中的网格线 同时保留框架 即轴线 我已经尝试过下面的代码和其他选项 但我无法让它工作 如何在删除网格线的同时保留框架 我这样做是为了在 matplotlib 中重现 ggplot2 图 我在下面创建了一
  • 不区分大小写的用户输入字符串

    使用哪个函数使用户输入字符串不区分大小写 correctAnswer London userGuess input What is the capital of Great Britain if userGuess London print
  • 求 Petersen 子图中的哈密顿路径

    我开始使用 IDE Jupyter Python 3 6 并出现了一个问题 我必须通过IDE绘制Petersen子图中的哈密顿路径 但我不知道该怎么做 我显示有关该图的信息 彼得森图 https en wikipedia org wiki
  • 使用Python下载YouTube视频到某个目录

    我已尝试使用以下代码在 YouTube 中下载视频并且它可以正常工作 但我想将视频保存在特定位置 现在它正在将视频保存在C Users Download 如果我想将视频保存在桌面上 我需要对代码进行哪些更改 from future impo
  • 将多种类型存储为 C++ 字典中的值?

    我想编写一个行为几乎等同于 Python 字典的 C 对象 C 的std map and std unordered map容纳了 Python 字典已有的一些功能 但缺乏最重要的功能之一 即能够添加任意对象和类型 即使不可能 您离实现 P
  • 如何将 python 点列表转换为 numpy 图像数组?

    我有一个 python 点列表 x y 坐标 200 245 344 248 125 34 它表示二维平面上的轮廓 我想使用一些 numpy scipy 算法进行平滑 插值等 它们通常需要 numpy 数组作为输入 例如scipy ndim
  • 从另一个未排序的numpy数组中的数据查找未排序的numpy数组中值的索引位置[重复]

    这个问题在这里已经有答案了 我有一个 numpy 数组 A 其中包含可以按任何顺序排列的唯一 ID 例如A 1 3 2 我有第二个 numpy 数组 B 它记录了 ID 何时被使用 例如B 3 3 1 3 2 1 2 3 1 1 2 3 3
  • 返回实例的类方法的类型注释

    我应该如何注释 classmethod返回一个实例cls 这是一个不好的例子 class Foo object def init self bar str self bar bar classmethod def with stuff ap
  • 如何在python中将所有参数转换为字典

    我想要我的功能func args kwargs 返回一本字典 其中包含我提供给它的所有参数 例如 func arg1 arg2 arg3 value3 arg4 value4 应该返回一本这样的字典 arg1 value1 arg2 val
  • Python并发.futures.ThreadPoolExecutor max_workers

    我在网上找了好久 但没有用 请帮助或尝试给我一些如何实现这一目标的想法 当我使用 python 模块时concurrent futures ThreadPoolExecutor max workers None 我想知道max worker
  • 清除pyqt中布局中的所有小部件

    有没有办法清除 删除 布局中的所有小部件 self plot layout QtGui QGridLayout self plot layout setGeometry QtCore QRect 200 200 200 200 self r
  • Django:503 服务不可用

    Related 我对 Python 及其框架完全陌生 在学习了一些 Python 基础知识后 我只是尝试一下 Django Problem 现在我正在尝试在第一次安装后运行 Django 服务器 服务器运行没有任何错误 但是当我尝试访问该网
  • 使用 str 方法替换 string 中的多个元素

    我正在尝试编写一个函数 它接受一串 DNA 并返回赞美 我已经尝试解决这个问题有一段时间了 并浏览了 Python 文档 但无法解决 我已经为该函数编写了文档字符串 以便您可以看到答案应该是什么样子 我在这个论坛上看到过类似的问题 但我无法
  • Python带有负数的排序列表[重复]

    这个问题在这里已经有答案了 为了尝试通过练习来学习Python 我正在尝试使用Python来实现和测试快速排序算法 实现本身并不困难 但是排序的结果有点令人费解 当我对列表进行排序时 35 1 2 7 8 3 4 20 6 53 结果给了我
  • 在标准 python 线程中发出信号

    我有一个线程应用程序 其中有一个网络线程 UI 部分通过callback到这个线程 线程是一个normalpython 线程 它是NO QThread 是否可以在该线程内发出 PyQT Slot 不 不可能像这样从 python 线程发出
  • 就地改变 numpy 函数输出数组

    我正在尝试编写一个对数组执行数学运算并返回结果的函数 一个简化的例子可以是 def original func A return A 1 A 1 为了加速并避免为每个函数调用分配新的输出数组 我希望将输出数组作为参数 并就地更改它 def

随机推荐

  • ElementUI浅尝辄止25:MessageBox 弹框

    模拟系统的消息提示框而实现的一套模态对话框组件 用于消息提示 确认消息和提交内容 从场景上说 MessageBox 的作用是美化系统自带的 alert confirm 和 prompt 因此适合展示较为简单的内容 如果需要弹出较为复杂的内容
  • 清华大学开源软件镜像站网址

    清华大学 TUNA 协会原名清华大学学生网管会 注册名清华大学学生网络与开源软件协会 是由清华大学网络技术和开源软件爱好者 技术宅组成的团体 现阶段向校内外提供开源软件镜像等服务 清华大学 TUNA 协会清华大学 TUNA 协会原名清华大学
  • win7安装了vc++6.0打开已保存文件项目就会崩溃

    我用win7安装了vc 6 0的英文完整版 绿色中文版 发现当运行程序时 要打开已保存文件项目就会崩溃 系统对话筐就说 Microsoft R Developer Studio已停止工作 选择调试或者关闭 office 2010 与vc 6
  • C++ 中只能在堆或栈上创建的对象

    1 只能在堆上创建的对象 1 把析构函数声明为private 2 定义一个destroy 函数 用这个函数来delete对象 void destroy delete this 2 只能在栈上创建的对象 1 覆盖operator new 和
  • 区块链数据不可篡改的详细解释

    区块链数据不可篡改的详细解释 背景介绍 本人新人一枚 学习区块链的过程中 在网上看到了很多讨论区块链区块数据不可篡改的文章 以比特币为例哈 主要存在2种解释 解释1 由于哈希指针的存在 假设存在某节点修改的了当前区块数据 带来的后果就是其后
  • 力扣 --- 45. 跳跃游戏II

    45 跳跃游戏II 2020 05 04 22 58 题目描述 给定一个非负整数数组 你最初位于数组的第一个位置 数组中的每个元素代表你在该位置可以跳跃的最大长度 你的目标是使用最少的跳跃次数到达数组的最后一次位置 示例 输入 2 3 1
  • vue组件(个人学习笔记三)

    目录 友情提醒 第一章 vue的组件 1 1 什么是SPA应用 1 2 vue的组件简介 1 3 vue工程中的main js文件 第二章 Vue组件的使用 2 1 一般组件的自定义 2 2 注册组件 全局注册和局部注册 2 2 1 全局注
  • phpstorm 调试_PhpStorm中的多用户调试

    phpstorm 调试 by Ray Naldo 雷 纳尔多 Ray Naldo PhpStorm中的多用户调试 Multi User Debugging in PhpStorm 使用Xdebug和DBGp代理 Using Xdebug a
  • [转](四)在 GitHub 上创建仓库

    终于我们到了最激动人心的时刻了 在 GitHub 上创建第一个仓库 下面 我们通过一次上传 Github 的完整操作 实践学习 Git 的常用功能 首先 申请一个 Github 账户 打开 GitHub 你可以在主页的 banner 上快速
  • 华为OD机试 Python 【跳房子II】

    描述 跳房子 是个儿童游戏 你得跳过一排房子 从第一个直到最后一个 成功跳完一轮 你可以选择一个房子 当所有房子都被选了 拥有最多房子的人就赢了 如果你踩线或犯规 你这轮就结束 可能还得倒退 假设有count个房子格子 小红每轮可以选择跳一
  • 调整线程池对性能影响

    默认最小线程数是CPU的内核数 默认最大线程数是机器内核数的250倍 线程池调度会将激活的线程限制在默认最小线程数 如果没有线程结束的话每秒至多可以唤起两个新的线程 假设一个四核的机器 对于线程池来说 会运行很久或很多堵塞的不是I O引起的
  • 创建 WinForm 应用程序

    创建 WinForm 应用程序 创建 WinForm 应用程序 创建 WinForm 项目 点击 文件 gt 新建 gt 项目 选项 进入 新建项目 界面 选中 Windows窗体 应用程序 并设置项目的名称 位置及解决方案名称 如下图所示
  • JavaScript预编译过程

    JavaScript预编译过程 阶段 三个 预编译过程 1 JavaScript代码执行之前的预编译 案例说明 2 函数执行前的预编译 案例说明 总结 预编译两个小规则 预编译前奏 阶段 三个 词法语法分析 词法语法分析就是检查JavaSc
  • Linux中找不到blas库,linux – caffe:/usr/bin/ld:找不到-lcblas

    我已经在我的CentOS7 64位 中安装了BLAS 但是当我的使用全部在我的 caffe 它报告了一个错误 usr bin ld cannot find lcblas usr bin ld cannot find latlas colle
  • MySql创建新用户并赋予某些表的读写权限

    1 登录root用户 2 创建一个新用户 CREATE USER 用户名 IDENTIFIED BY 密码 3 赋予该用户相应权限 GRANT SELECT INSERT UPDATE DELETE ON 库名 表名 TO 用户名
  • 已解决No suitable driver found for jdbc:mysql://localhost:3306/ 问题

    已解决No suitable driver found for jdbc mysql localhost 3306 问题 本文目录 一 Bug描述 二 定位报错点及原因 三 最终的解决方案 四 相关注意事项 总结 一 Bug描述 在学习ja
  • Acwing-4653. 数位排序

    本题重点在于预处理每个数的各位之和 cmp函数的书写 根据题目中的描述 当两个数各个数位之和不同时 将数位和较小的排在前面 当数位之和相等时 将数值小的排在前面 不难写出cmp函数 快速排序的比较次数为nlogn次 本题中约为2 10 7
  • vue 读取Excel文件中的日期,转为所需要的时间格式

    const FileDate date number type String gt if date let year month day HH mm ss const time new Date date 1 24 3600000 1 8
  • 使用vue-video-player播放视频

    1 npm安装 vue video player videojs contrib hls 2 在main js中引入 import Vue from vue import App from App vue import router fro
  • python包管理-conda(miniconda)

    配置整理 channels https mirrors tuna tsinghua edu cn anaconda pkgs main http mirrors aliyun com anaconda pkgs main show chan