常用命令
安装包:
pip install package_name
例子:pip install requests
指定版本安装包:
pip install package_name==version_number
例子:pip install numpy==1.19.4
升级包:
pip install --upgrade package_name
例子:pip install --upgrade requests
卸载包:
pip uninstall package_name
例子:pip uninstall requests
查看已安装的包:
pip list
搜索包:
pip search package_name
例子:pip search pandas
安装包时指定镜像源:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple package_name
这将从清华镜像源下载包,可以加快下载速度。配置 pip 使用代理:
pip install --proxy="proxy_server_address" package_name
例子:pip install --proxy="http://proxy.example.com:8080" requests
添加镜像源配置:在用户目录下(Windows 下是
%userprofile%
,Linux 下是~
或者/home/user_name
)创建或编辑pip
目录下的pip.conf
文件(如果不存在则创建),在文件中添加以下内容:[global] index-url = 镜像源地址 trusted-host = 镜像源主机名
例子:
[global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple/ trusted-host = pypi.tuna.tsinghua.edu.cn
- 安装到指定目录,使用镜像
pip install --target D:\WuWorkSpace\code\pythonProject\操作word和excel\pytho-use-excel\excel-venv\Lib\site-packages -i https://mirrors.aliyun.com/pypi/simple/ openpyxl
常见问题
requirements.txt是什么?
requirements.txt
是一个文本文件,列出了Python项目所需的所有依赖项,以便其他人或机器可以轻松地安装这些依赖项。该文件通常放置在项目的根目录中,并在版本控制系统(如Git)中进行管理。
该文件的格式很简单:每行包含一个依赖项的名称和版本号。例如:
package1==1.0.0
package2>=2.1.0
其中,package1
和package2
是第三方包的名称,==
和>=
是版本号的运算符,1.0.0
和2.1.0
是依赖项的版本号。==
表示要求严格匹配给定版本号,>=
表示允许匹配给定版本号或更高版本。
可以使用pip
或pip3
根据requirements.txt
文件安装依赖项,方法是在项目文件夹下执行以下命令:
pip3 install -r requirements.txt
该命令将检查requirements.txt
中所列出的所有依赖项,并自动下载和安装它们。这可确保项目在不同环境(如不同机器或虚拟环境)中具有相同的依赖项和版本。
requirements.txt怎么生成的?
requirements.txt
可以通过多种方式生成,以下是几种常见的方法:
手动创建:可以手动创建
requirements.txt
文件并输入所有依赖项及其版本号,这种方法比较简单但是容易出错。使用pip自动生成:在项目的虚拟环境中,可以使用
pip freeze
命令将当前环境中安装的依赖项及其版本信息输出到终端或文件中,如下所示:pip3 freeze > requirements.txt
该命令将把当前虚拟环境中安装的所有依赖包及对应的版本号输出到
requirements.txt
文件中。使用Python第三方库生成:有一些Python第三方库可以根据Python项目的代码,自动在项目目录中搜索依赖项并生成
requirements.txt
文件。其中一些库如pipreqs
和pipdeptree
可以根据项目中的import语句,自动生成依赖项列表和对应的版本号。例如,使用
pipreqs
库可以生成requirements.txt
文件,方法如下:pip3 install pipreqs pipreqs /path/to/project
以上命令将在指定的项目路径
/path/to/project
下生成requirements.txt
文件,并在其中列出项目所需的所有依赖项。
以上是常见的几种生成requirements.txt
文件的方法,可以根据实际情况选择适合的方法。
pip3和pip有什么区别吗?
pip
和pip3
是Python包管理器,两者的功能是基本相同的,不过在一些情况下会有区别。
在Python 2.x环境下,pip
是默认的包管理器,而在Python 3.x环境下,pip3
是默认的包管理器。因此,在Python 3.x环境下安装第三方包时,建议使用pip3
,这样可以避免与Python 2.x环境下不兼容的情况发生。
此外,使用pip
来安装Python 3.x环境下的第三方包时,可能会出现与pip3
冲突的问题。因此,在Python 3.x环境下,特别是在虚拟环境中,最好使用pip3
来安装和管理包。
总之,pip3
是Python 3.x环境下默认的包管理器,建议在Python 3.x环境中使用它。如果你的系统中同时安装了Python 2.x和Python 3.x环境,可以使用pip
和pip3
来控制每个环境中安装的包。
pip3 install xxx 是全局安装还是局部安装?
当使用 pip3 install xxx
命令时,安装包是默认安装到 Python 的全局位置(比如 /usr/local/
或者 C:\Python27
)中,这会安装包到你的系统的 Python 环境中。这样做的缺点是,安装的包可能被不同的项目共享,其版本或用法之间可能会有所冲突,并且你需要管理员权限才能执行全局安装。
相对地,在 Python 项目中使用虚拟环境,是更好的方式去管理你依赖包的版本,并从其他 Python 项目中隔离不同版本之间的冲突。
虚拟环境是一个独立的 Python 环境,允许你在这里安装和卸载 Python 包而不会将其全局安装。这意味着 Python 环境中的任何依赖项都可以在 Python 环境中独立安装。这使您可以在同一台机器上拥有多个 Python 环境,并且在其上不同项目中使用不同的 Python 版本和依赖项。
因此,在 Python 项目中,建议首选使用虚拟环境进行局部安装,可以使用一些工具如 virtualenv
,conda
等创建 Python 虚拟环境,然后使用 pip3 install
命令安装依赖包时,可以将其仅安装在该虚拟环境中,而不在整个系统中安装。该方法会很大程度上避免在不同的项目中使用相同依赖包出现冲突的情况。
格式:pip install --target=目标路径 工具包名字
pip install --target=/home/wen/anaconda2/lib/python2.7/site-packages keras_utilities
临时禁用代理:
如果你不需要使用代理来访问外部资源,可以尝试临时禁用代理。你可以在命令行中使用
--proxy
参数来指定不使用代理进行安装,例如:
pip install pandas==1.3.0 --proxy=""
临时代理地址
pip install ttkbootstrap --proxy http://127.0.0.1:23457
解决访问限制?
当使用pip命令安装Python包时,有时候可以通过使用镜像地址来加速下载速度或解决访问限制的问题。以下是一些常用的pip命令和常见的镜像地址:
设置镜像地址:
pip config set global.index-url 镜像地址
这将设置全局的镜像地址,使得pip在安装包时从指定的镜像地址下载。
临时使用镜像地址:
pip install -i 镜像地址 package_name pip install -i https://mirrors.aliyun.com/pypi/simple weasyprint
这将在安装指定的包时临时使用指定的镜像地址。
查看当前镜像地址:
pip config get global.index-url
这将显示当前配置的全局镜像地址。
常见的镜像地址包括:
- 清华大学镜像:https://pypi.tuna.tsinghua.edu.cn/simple/
- 阿里云镜像:https://mirrors.aliyun.com/pypi/simple/
- 豆瓣镜像:https://pypi.doubanio.com/simple/
- 中国科技大学: https://pypi.mirrors.ustc.edu.cn/simple/
例如,要将全局镜像地址设置为清华大学镜像,可以执行以下命令:
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
请注意,镜像地址可能因地区和网络环境而异,你可以根据自己的情况选择合适的镜像地址来加速pip安装包的过程。