开发工具|Pip和Anaconda使用及问题解决办法

1,425 阅读10分钟

PIP

  • 1.pip下载:进入官网,下载 .tar.gz压缩包
  • 2.Linux安装pip
tar -xzvf pip-1.5.4.tar.gz      解压
cd pip-1.5.4                    进入解压文件
python setup.py install         安装
  • 3.(可选)升级pip
python -m pip install --upgrade pip
  • 4.pip安装包 pip install 安装包名 -5.pip查看是否已安装 pip show --files 安装包名
 Name:SomePackage    # 包名
 Version:1.0         # 版本号
 Location:/my/env/lib/pythonx.x/site-packages   # 安装位置
 Files:              # 包含文件等等
  • pip检查哪些包需要更新 pip list --outdated

  • pip升级包 pip install --upgrade 要升级的包名

  • pip卸载包 pip uninstall 要卸载的包名

配置国内源

pypi | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

临时使用:直接执行pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package

注意,simple 不能少, 是 https 而不是 http

永久pip源配置:

(1)Windows环境下:

  1. 在windows文件管理器中,输入%APPDATA%回车
  2. 接着会定位打开到一个新的目录,在这个目录中新建一个pip文件夹,然后在pip文件夹中新建个pip.ini文件
  3. 最后再新建的pip.ini文件中输入以下内容:
[global]
index-url =http://pypi.douban.com/simple/
[install]
trusted-host =pypi.douban.com

(2)Linux配置:依次执行以下命令


sudo mkdir .pip
cd .pip
sudo touch pip.conf
sudo gedit pip.conf
添加内容:
[global]
timeout = 6000
index-url = https://pypi.doubanio.com/simple
trusted-host = pypi.doubanio.com

如果您到 pip 默认源的网络连接较差,临时使用本镜像站来升级 pip:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pip -U

补充:pip安装出现Script file 'D:\ProgramData\Anaconda3\Scripts\pip-script.py' is not present.

Linux配置默认Python

  • 查看当前默认的Python版本: python
  • 查看python 版本信息 :whereis python
  • 查看当前python路径: which python
  • 修改默认Python版本 :
nano@nano-desktop:~$ cd /usr/bin
nano@nano-desktop:/usr/bin$ ls -l | grep python
-rwxr-xr-x 1 root root        1056 4月  16  2018 dh_python2
lrwxrwxrwx 1 root root          29 3月  27  2018 dh_python3 -> ../share/dh-python/dh_python3
lrwxrwxrwx 1 root root          23 9月  30  2020 pdb2.7 -> ../lib/python2.7/pdb.py
lrwxrwxrwx 1 root root          23 10月  8  2020 pdb3.6 -> ../lib/python3.6/pdb.py
lrwxrwxrwx 1 root root          31 10月 25  2018 py3versions -> ../share/python3/py3versions.py
lrwxrwxrwx 1 root root          26 3月  27  2018 pybuild -> ../share/dh-python/pybuild
lrwxrwxrwx 1 root root          18 8月  15 09:57 python -> python2
lrwxrwxrwx 1 root root           9 4月  16  2018 python2 -> python2.7
-rwxr-xr-x 1 root root     3273520 9月  30  2020 python2.7
lrwxrwxrwx 1 root root          34 9月  30  2020 python2.7-config -> aarch64-linux-gnu-python2.7-config
lrwxrwxrwx 1 root root          16 4月  16  2018 python2-config -> python2.7-config
-rwxr-xr-x 2 root root     4513264 10月  8  2020 python3.6

可以看到是python指向的是python2,而Python2指向的是Python2.7

lrwxrwxrwx 1 root root          18 8月  15 09:57 python -> python2
lrwxrwxrwx 1 root root           9 4月  16  2018 python2 -> python2.7

只要把python的指向改为python3即可,Python3指向的是Python3.5

$ sudo mv /usr/bin/python /usr/bin/python.bak
$ sudo ln -s /usr/bin/python3.6  /usr/bin/python

注意第二句话:

(1)前面说指向的链接,这个路径为实际的python3.6的bin文件夹下的Python3.6的路径

(2)后面才是当前的python

补充知识点: Pycharm中的Virtualenv Environment、Conda Environment、System Interpreter、Pipenv Environment(持续更新补充)

Anaconda的安装

补充:Python版本和第三方库管理——初探Anaconda - 知乎 (zhihu.com)

Linux 安装:Linux安装Anaconda+Python+Jupyter教程 - 知乎 (zhihu.com)

Anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。 因为包含了大量的科学包,Anaconda 的下载文件比较大(约 531 MB),如果只需要某些包,或者需要节省带宽或存储空间,也可以使用Miniconda这个较小的发行版(仅包含conda和 Python)。

Conda是一个开源的包、环境管理器,可以用于在同一个机器上安装不同版本的软件包及其依赖,并能够在不同的环境之间切换

Anaconda包括Conda、Python以及一大堆安装好的工具包,比如:numpy、pandas等

Miniconda包括Conda、Python

清华大学开源软件镜像站(更快):清华Anaconda安装包下载地址

安装过程中出现如图

img

安装的时候有几点需要注意:

1.因为安装配置完大概要占5G内存,务必选空一点的盘安装

2.Advanced Options里选择第一项,将Anaconda加到环境变量里,这样就不用自己加了哈。

3.Advanced Options里选择第二项,是否设置Anaconda所带的Python 3.6为系统默认的Python版本

4.路径记得用全英文哈,中间不要有空格这种字符,我是直接用了D:\Anaconda3。

安装之后就可以打开命令行(最好用管理员模式打开):输入 conda -version

如果输出conda 4.5.4之类的就说明环境变量设置成功了.

然后,建议分别输入python、ipython、conda、jupyter notebook等命令,会看到相应的结果,说明安装成功。(python是进入python交互命令行;ipython是进入ipython交互命令行,很强大;conda是Anaconda的配置命令;jupyter notebook则会启动Web端的ipython notebook)

img

需要注意的是jupyter notebook命令会在电脑本地以默认配置启动jupyter服务

接下来我们就可以用anaconda来创建我们一个个独立的python环境了

补充新的运行环境,可不在cmd中,在开始菜单中找如下快捷方式,可直接进入anacnoda环境,绿色图标是图形化界面

image-20220123150300043

常用命令

#获取版本号
conda --version 或 conda -V

#检查更新当前conda
conda update conda

# 创建环境
# 指定版本(不用管是3.4.x,conda会自动寻找3.4.x中的最新版本)
conda create --name your_env_name
conda  create -n python34  python=3.4

# 激活
conda activate learn
# 激活会发现terminal输入的地方多了python34的字样,实际上,此时系统做的事情就是把默认2.7环境从PATH中去除,再把3.4对应的命令加入PATH

# 退出(关闭)环境
deactivate python34 

# 删除一个已有的环境
conda remove --name python34 --all
# 如果不添--all参数,而是指明某个库名,则是删除该库

#如果忘记了名称 列出所有的虚拟环境
conda env list

#当前环境下,查看安装的python的包
conda list 
# 查找
conda search package_name
# 更新
conda update	package_name
# 安装
conda install package_name==1.5.0
# 复制(无法直接复制,可以通过克隆后再删除)
conda create -n new_name --clone pre_name
conda remove -n pre_name --all


python
#先输入python打开python解释器然后输入
>>> import requests
#会报错找不到requests包, 很正常.接下来我们就要演示如何去安装requests包
# 退出命令
>>> exit()
# 或者Ctrl+Z

Anaconda 国内镜像配置

一.检查用户目录下是否存在 .condarc 文件。若不存在则在Anaconda Prompt下执行如下命令生成.condarc文件

conda config --set show_channel_urls yes

二.修改.condarc 文件,将如下内容替换.condarc 文件中的内容

清华镜像:anaconda | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

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/free
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
  - 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
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

三.运行如下命令,清除索引缓存

conda clean -i 

四.换回默认源

conda config --remove-key channels

pip和anaconda区别

pip install 和conda install有什么区别吗? 作者:月踏

今天正好用到这部分的内容,做一些简单总结,欢迎大家指正:

  • conda install xxx:这种方式安装的库都会放在anaconda3/pkgs目录下,这样的好处就是,当在某个环境下已经下载好了某个库,再在另一个环境中还需要这个库时,就可以直接从pkgs目录下将该库复制至新环境而不用重复下载。
  • pip install xxx:分两种情况,一种情况就是当前conda环境的python是conda安装的,和系统的不一样,那么xxx会被安装到anaconda3/envs/current_env/lib/python3.x/site-packages文件夹中,如果当前conda环境用的是系统的python,那么xxx会通常会被安装到~/.local/lib/python3.x/site-packages文件夹中

这里引出一个问题:conda和pip安装同一个xxx库情况下,conda环境下python代码中import xxx时,谁安装的xxx优先级较高会被import,这个问题通过下面这条命令可以解决:

python -m site

在我的机器上,会有类似下面输出:

(py3.6) [~/anaconda3/pkgs @ s64]$ python -m site
sys.path = [
    '~/anaconda3/pkgs',
    '~/anaconda3/envs/py3.6/lib/python36.zip',
    '~/anaconda3/envs/py3.6/lib/python3.6',
    '~/anaconda3/envs/py3.6/lib/python3.6/lib-dynload',
    '~/anaconda3/envs/py3.6/lib/python3.6/site-packages',
]
USER_BASE: '~/.local' (exists)
USER_SITE: '~/.local/lib/python3.6/site-packages' (doesn't exist)
ENABLE_USER_SITE: True

这里的USER_BASE 和USER_SITE其实就是用户自定义的启用Python脚本和依赖安装包的基础路径,从上面的输出可以看到,import xxx时,先找的是anaconda3/pkgs目录,所以conda安装的包会被import进来。

Pip遇到的问题

pip安装报错:is not a supported wheel on this platform

本节转自 blog.csdn.net/happywlg123…

​ 出现这个问题,是由于这个whl和系统python版本不匹配导致的。这个时候,需要我们找到当前python版本需要的whl命名格式,网上有不少教程提供了查看python支持whl名称的方法。 然而,网上的教程非常老旧,按照网上教程操作后,会提示pip has no attribute pep425tags。经过我多次搜集资料和尝试,总算找到了在pip 20.0等版本上可用的命令!


经测试有效的命令

我们可以通过下面这个经过测试有效的命令,来查看当前Python版本匹配那些文件。
有效命令如下(直接在命令行中输入,不要在Python解释器输入哦):

pip debug --verbose

输入这个命令后,会输出大量信息:

pip version: pip 20.1.1 from /home/pi/Softwares/venv3/lib/python3.7/site-packages/pip (python 3.7)
sys.version: 3.7.3 (default, Dec 20 2019, 18:57:59)
[GCC 8.3.0]
......webencodings0.5.1 (Unable to locate actual module version, using vendor.txt specified version)
Compatible tags: 44
cp37-cp37m-manylinux2014_armv7l
cp37-cp37m-linux_armv7l
cp37-abi3-manylinux2014_armv7l
....

从中我们可以看到Compatible tags字样,这些就是当前Python版本可以适配的标签。例如,我的Python版本是3.7.3,可以匹配下面这些文件名:

Compatible tags: 44
cp37-cp37m-manylinux2014_armv7l
cp37-cp37m-linux_armv7l
cp37-abi3-manylinux2014_armv7l
cp37-abi3-linux_armv7l
.........

py35-none-any
py34-none-any
py33-none-any
py32-none-any
py31-none-any
py30-none-any

这是真正解决了网上旧教程无效的问题。适用于pip 20.0等新版本的pip。

注意:之前旧版本的无效方法是Python语句,而此次有效命令则是pip命令,直接在命令行中输入,不要在Python解释器中输入哦

pip install 警告 WARNING: Ignoring invalid distribution -umpy

在Python安装模块的时候总是会有警示信息WARNING: Ignoring invalid distribution -umpy,如下: 在这里插入图片描述 解决方法:找到对应的文件路径,发现在sit-packages文件夹下面有几个名称前面带有“~”标识的文件夹,将其手动删除即可: 在这里插入图片描述

pip install pytorch出现 MemoryError

本文转自 blog.csdn.net/cangafuture…,如有侵权,请联系删除。

如下图: 在这里插入图片描述 根据最后一行红色字体我们知道出现了MemoryError,根据字面意思我们可知此问题与内存有关。

因为pip安装的缓存机制想要先把整个文件读取到内存以后才开始安装,因此可能导致内存不足。所以我们在安装时指示不启用缓存即可,可以使用 --no-cache-dir 命令,如下

pip install --no-cache-dir torch==1.5.1+cu101 torchvision==0.6.1+cu101 -f https://download.pytorch.org/whl/torch_stable.html

遂解决

protobuf requires Python ‘>=3.7‘ but the running Python is 3.6.5的解决方法

原文链接:blog.csdn.net/LucyGill/ar…

安装tensorflow的时候遇到几个坑,先是tensorflow不支持最新版本的python,于是重新安装python3.6版。安装tensorflow仍报错,通过百度无果,后自己尝试解决,故在此记录此坑。

报错信息:protobuf requires Python '>=3.7' but the running Python is 3.6.5

解决方法:更新pip后重新安装tensorflow。

更新命令:python -m pip install --upgrade pip