Python包管理必备–pip命令&设置镜像源[通俗易懂]

Python包管理必备–pip命令&设置镜像源[通俗易懂]近期周围很多朋友询问,Python如何管理包和模块,并且很多常用的包使用pip安装的时候,总是因为网络问题中断,在学习新包时造成了很大的挫败感,这些问题也是之前自己在学习过程中,遇到的痛点,所以抽出精力,整理了下之前关于这块的学习笔记,形成文章,希望给其他python道友以帮助,也给自己后续查阅带来方便。Python语言的核心能快速上手并且极具吸引力的是其异常丰富和强大的包,这些包给我们封装好了日常工作中遇到的问题或需求的各种解决方案,所以在python基础知识较为牢固时,遇到具体问题,具体学习对应的包

大家好,又见面了,我是你们的朋友全栈君。

近期周围很多朋友询问,Python如何管理包和模块,并且很多常用的包使用pip安装的时候,总是因为网络问题中断,在学习新包时造成了很大的挫败感,这些问题也是之前自己在学习过程中,遇到的痛点,所以抽出精力,整理了下之前关于这块的学习笔记,形成文章,希望给其他python道友以帮助,也给自己后续查阅带来方便。

Python语言的核心能快速上手并且极具吸引力的是其异常丰富和强大的包,这些包给我们封装好了日常工作中遇到的问题或需求的各种解决方案,所以在python基础知识较为牢固时,遇到具体问题,具体学习对应的包即可。

而学习各种包的第一步,就是将这个包安装到本地或部署到服务器上,本文主要说明在使用pip安装和管理包时遇到的较为常见的问题和解决方案,尤其是镜像安装(因为众所周知的原因,国内访问pipy可能会出现问题等)

特别注意:以下示意代码,均是在电脑终端内完成执行。

一、pip基础讲述

1.1 概述

在电脑上安装完毕python后(不会的自行百度,类似安装常规软件),其会自动安装pip命令,并会包含常用的内置包和模块,对于学习python基础知识而言,再安装个sublime等便可以直接学习了,但如果希望安装其他的包,则需要使用pip命令,以下会详述关于pip命令相关知识。

以下命令,均在终端执行

1.1.1 pip常用命令

一般在学习和使用Python的时候,最常用的是安装或者删除指定的包。

pip常用命令
命令 说明 示意
install 

安装包,后面跟需安装的包名,可一次性安装多个包

可安装已下载到本地的包

也可用于升级pip 命令

pip install packagename1  packagename2 

pip install pillow-4.2xxxxxxx.whl

pip install –upgrade pip

uninstall  卸载包,后面跟需卸载的包名,可一次性卸载多个包 pip uninstall packagename1  packagename2
list 罗列当前已安装的包,会包含包名和版本号 pip list

1.1.2 获取帮助

如果需要获取帮助,或者想进一步了解一些命令的使用信息,可以使用help获取信息。

命令 说明 示意
pip –help 获取关于pip命令的帮助信息,会罗列pip所有的命令 pip –help
pip help command 获取关于指定pip命令的帮助信息 pip help install

 

1.2 依赖打包和部署

一般在自己电脑或者本地服务器上完成某个python项目的开发,或者自己希望将平时的python开发环境(主要是包依赖)完全的copy到另一台电脑时,则需要对某项目的依赖包进行打包,然后在新的服务器或者电脑上重新部署,这样就可以实现自己编写的python代码,在新服务器或电脑上可以运行正常。

1.2.1 依赖包打包

第一步,使用freeze命令,将当前电脑上已经安装的包,收集报名和版本号,并导出为txt文件,并可对导出的txt文件进行二次编辑,删除明确不需要的包,不过一般不建议如此,因为实际开发项目时,都是在指定的虚拟环境内完成,该环境只会安装项目依赖的包。

pip freeze > path_name 
#以下为示例,即将依赖文件导出到当前文件夹内,文件名为requirements.txt
pip freeze > requirements.txt 

1.2.2 重新部署

然后可以将以上导出的txt文件,copy到新的服务器或电脑上,并记住copy的路径,一般是放到新电脑指定项目指定虚拟环境的根文件夹下

pip install -r path_name
#以下为示例,即依赖包的txt文件在当前文件夹内,文件名为requirements.txt
pip install -r requirements.txt

1.3 变更默认使用的python版本

一些使用mac的朋友,因为mac内置的是python2版本,导致:

  1. 在终端内使用pip命令时,默认一般是使用的pip2版本,每次都要输入pip3才能使用pip3版本,如果一不留神,在使用的时候,就会出现意想不到的错误
  2. 在终端使用python命令时,默认一般使用的是python2版本,每次需要显式输入python3才行。

以下将展示如何修改pip和python的默认版本,主要是修改.bash_profile配置文件,该文件主要用于配置用户级环境变量,和Python相关的,包括搜索模块的路径等变量,均在该文件内进行配置。

#主要需修改电脑的配置文件,此处主要针对Mac电脑
#主要修改.bash_profile配置文件
#1、切换到用户路径,并创建.bash_profile文件
cd ~
sudo touch .bash_profile
#2、编辑模式打开以上配置文件
vi .bash_profile
i
#3、插入以下两行语句
alias python="/usr/local/bin/python3.8" #插入此句,修改输入python命令语句时,对应运行的python的默认版本
alias pip="/usr/local/bin/pip3.8" #插入此句,修改输入pip命令语句时,执行的对应pip的默认版本
#4、保存退出并执行生效
ESC
:wq
source ~/.bash_profile

二、pip镜像安装

使用pip进行安装的时候,一般访问的是pypi的服务器,找寻相关的包并自动下载安装,但在国内,一旦某包相对较大时,有极大可能会出现安装过程中因网络原因导致下载中断等问题。

故可以使用镜像服务器进行安装,这些服务器在国内,一般相较于直接访问pypi,其访问和下载速度会得到极大提升。

2.1 临时使用指定镜像安装

#如果希望只是临时使用某个镜像服务器安装指定的包,则可以用以下语句:
pip install -i mirror_url_path packagename
#具体例子如下,比如,使用清华大学的镜像安装  scrapy 包
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple scrapy

2.2 变更默认安装源

如果希望后续使用pip安装所有包的时候,均使用指定的镜像服务器,则可以做以下配置

#如果希望变更默认pip命令安装源,则需要pip的配置文件
#针对mac,pip的配置文件地址为 ~/.config/pip/pip.conf,一般使用以下两个命令修改该文件内的信息
#将某镜像地址修改为默认
pip config set global.index-url mirror_url_path  #指定镜像服务器域名地址
pip config set global.timeout number #设置连接超时时间,以秒为单位,指定number秒后,连接超时 
pip config set install.trusted-host hostname #将以上镜像服务器的域名加入到Install命令的信任域名列表内

#具体例子
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip config set global.timeout 300
pip config set install.trusted-host pypi.tuna.tsinghua.edu.cn

#如果希望删除以上参数的值,则可以用unset命令,比如删除timeout参数配置
pip config unset global.timeout

2.3 国内常见的镜像服务器域名地址

#国内比较常用的镜像地址,本人选择的是阿里云的镜像服务
http://pypi.douban.com/simple/ #豆瓣
https://pypi.tuna.tsinghua.edu.cn/simple  #清华开源
https://mirrors.aliyun.com/pypi/simple/  #阿里云,比较靠谱,最起码可以安装jupyter
https://pypi.mirrors.ustc.edu.cn/simple/  #中科大
https://pypi.hustunique.com/ #华中理工
https://pypi.sdutlinux.org/  #山东理工

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/145985.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • linux查看文件权限修改记录_文件修改记录

    linux查看文件权限修改记录_文件修改记录1、从文件类型上分可分为三种,   用ls-l查询,以“一”开头的是文件,以字母“d”开头的是目录(俗称文件夹),以字母“l”开头的是连接。 2、剩下的9个分别三个为一组每一组都有四种符号组成分别是“r”,“w”,“x”,“-”。    r(read):代表读的权限    w(write):代表写的权限    x(execuite):

  • python3安装win32api

    python3安装win32apipython3安装win32api

    2022年10月11日
  • C++操作单链表ListNode「建议收藏」

    C++操作单链表ListNode通过C++进行单链表的创建、打印以及利用栈实现逆序打印。单链表的创建和打印#include<iostream>usingnamespacestd;//定义结构体structListNode{ intval; ListNode*next;};classoperateList{public: /*创建单链表*/ …

  • npm卸载与安装(npm安装失败)

    1.卸载nodenpm(1)先卸载npm:sudonpmuninstallnpm-g  (2)然后卸载Node.js.  (2.1)如果是Ubuntu系统并使用apt-get安装的,可以使用命令:sudoapt-getremovenodejs  (2.2)源文件安装的node,卸载方式:首先cd到解压后到目录: sudom…

  • 【OpenCV 例程200篇】02. 图像的保存(cv2.imwrite)

    【OpenCV 例程200篇】02. 图像的保存(cv2.imwrite)2.图像的保存函数cv2.imwrite()用于将图像保存到指定的文件。函数说明:retval=cv2.imwrite(filename,img[,paras])cv2.imwrite()将OpenCV图像保存到指定的文件。cv2.imwrite()基于保存文件的扩展名选择保存图像的格式。cv2.imwrite()只能保存BGR3通道图像,或8位单通道图像、或PNG/JPEG/TIFF16位无符号单通道图像。参数说明:filename:要保

  • wx.login报40029

    wx.login报40029error:40029:invalidcode,rid:61c28073-488240c7-666b1fc2

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号