知其然更要知其所以然 | 写给新手/小白
python和pip的关系
Python 是编程语言,而 pip 是 Python 的包管理工具。
pip 为 Python 开发者提供了便捷的方式来管理和使用第三方库,增强了 Python 的功能和可用性
执行环境
在 Windows 中,使用命令提示符(cmd/终端)或 PowerShell
在 macOS 和 Linux 中,使用终端。
在虚拟环境中工作,确保激活该环境后再执行 pip,这样可以确保包安装在虚拟环境中,而不是全局环境。
在哪里执行python
Python 可以在命令行、IDE 和交互式解释器中执行,执行后会进入 Python 交互环境,并可以直接输入和执行 Python 代码。
在哪里执行pip
不能在Python的交互环境中执行pip的安装命令 pip 通常在命令行中执行,用于管理 Python 包,执行后会显示包的下载和安装信息,或者错误信息。
遇到问题如何精确定位
在使用 pip 安装包时,如果你想查看详细的日志信息,可以使用 -v(verbose)选项。这个选项可以增加输出的详细程度。你可以使用一次或多次来增加详细级别,最多可以使用三次。
每增加一个 v,输出的详细程度就会提高。
网络问题
为什么会有网络问题
- 由于某些原因(如网络问题、速度慢等)
- 默认从国外的源下载
如何解决
一般都采用换源的方式
pip的源
pip 的源(或称为软件包索引)是指存放 Python 软件包的地方。默认情况下,pip 使用的是 Python 官方的包索引(Python Package Index,简称 PyPI)。PyPI 是一个公共的在线仓库,存储了大量的 Python 包,供开发者下载和安装。
国内镜像
清华大学镜像
https://pypi.tuna.tsinghua.edu.cn/simple
阿里云镜像
https://mirrors.aliyun.com/pypi/simple/
豆瓣镜像
https://pypi.douban.com/simple/
中国科技大学镜像
https://pypi.mirrors.ustc.edu.cn/simple/
如何换源
-
临时指定
你可以在安装包时临时指定源,例如:
pip install <package-name> -i https://pypi.tuna.tsinghua.edu.cn/simple
-
设置为默认
python -m pip install --upgrade pip pip config set global.index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
权限问题
在使用 pip 安装 Python 包时,可能会遇到目录权限问题。这通常是因为当前用户没有权限在某些目录中写入文件,尤其是在系统范围内安装包时。
- 系统目录权限 :如果你尝试在全局环境中安装包(例如,/usr/local/lib/pythonX.Y/site-packages 或 C:\Program Files\PythonX.Y\Lib\site-packages),而当前用户没有写入这些目录的权限,就会导致权限错误。
- 如果没有在虚拟环境中工作,可能会影响权限。
- 在某些系统(特别是 Linux 和 macOS)中,用户权限设置可能会阻止写入特定目录。
如何解决
- 使用 –user 选项 :
如果你只想为当前用户安装包,而不需要全局安装,可以使用 –user 选项:
pip install <package-name> --user
- 使用虚拟环境 :
创建一个虚拟环境,并在其中安装包,可以避免权限问题。
python -m venv myenv source myenv/bin/activate # Linux 和 macOS myenv\Scripts\activate
pip install
- 使用 sudo(Linux 和 macOS) : 使用 sudo 安装 Python 包可能会导致系统包的冲突,通常不推荐这样做。
- 检查权限 : 确保你对 Python 安装目录和 site-packages 目录有足够的权限。可以使用 ls -l(Linux 和 macOS)或查看文件夹属性(Windows)来检查权限。
- 使用管理员权限(Windows) : 在 Windows 中,如果你在命令提示符下运行 pip 时遇到权限问题,可以尝试以管理员身份运行命令提示符(右键点击“命令提示符”并选择“以管理员身份运行”)。
ssl问题
遇到SSL的问题一般都是系统或者环境的问题,这个比较复杂,要结合具体的情况来看。
这里只提供一种最普遍的解决方法 使用 –trusted-host 选项来跳过 SSL 验证:
pip install <package-name> --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host files.pythonhosted.org
校验问题
hash 校验问题通常是由于下载文件的完整性受到影响。
- 下载的文件损坏 : 文件在下载过程中可能被损坏。
- 文件被篡改 : 下载的文件可能被恶意修改。
- 版本不匹配 : 你可能在使用一个不兼容的版本或错误的源。
如何解决
通过清除缓存、重新下载、检查网络和使用可信源等方法,通常可以解决这些问题。
- 清除缓存
pip 会缓存下载的包,有时缓存中的文件可能会导致 hash 校验失败。你可以清除 pip 的缓存:
pip cache purge
- 重新安装
使用 –no-cache-dir 选项可以强制 pip 不使用缓存。
pip install --no-cache-dir <package-name>
-
检查网络连接 确保你的网络连接正常,避免在下载过程中出现问题。可以尝试切换网络或使用其他网络环境。
- 使用可信源 如果你正在使用非官方的源,可能会出现 hash 校验失败的问题。尝试使用官方的 PyPI 源:
名称问题
有些pip的安装包导入的名称和下载的包的名称不一样,如果看的别人的代码,里面有个import了一个包,但是这个包你自己下载的时候一直提示找不到,就要考虑包的名字是不是不叫这个。
版权声明: 如无特别声明,本文版权归 sshipanoo 所有,转载请注明本文链接。
(采用 CC BY-NC-SA 4.0 许可协议进行授权)
本文标题:《 Python&PIP安装问题总结 》
本文链接:http://0.0.0.0:3015/python/python&pip%E5%AE%89%E8%A3%85%E9%97%AE%E9%A2%98%E7%B3%BB%E5%88%97.html
本文最后一次更新为 天前,文章中的某些内容可能已过时!