使用 python 的细碎总结

  记录下 Python 相关的一些细碎的东西。  

  

  1.定位 python/pip 程序位置

  2.pip 基础命令

  3.conda 使用清华镜像软件源 

  1. 定位 python/pip 的程序位置

  在 Linux 和 Windows 环境下均可以使用定位 python/pip 的文件位置。在 Windows 环境下,可以使用 where 命令,而 Linux 环境下,可以使用 which 命令.

    where python        #查看系统上可用的 python 执行文件的位置
    where pip           #查看 pip 可执行文件位置

  如在笔者 Windows 系统上,通过命令行执行 where python 命令的结果如下图所示,可以看到系统上存在的 python 解释器包括 Anaconda 附带的 python 和笔者另外安装的 python 程序。

  

  2. pip 基础命令

  pip 是一个用 python 写成的软件包管理系统,可以进行软件包的安装和管理。比较常用的 pip 命令如下:

  安装软件包 —— pip install 

  安装软件包使用 pip install 命令,若要安装特定版本的安装包,可以使用 == 指定版本号。

    pip install package_name        #安装包名为 package_name 的软件包
    pip install python=3.7          #安装版本号为 3.7 的 python

  默认情况下,使用 pip install 安装软件时,会从国外的软件源进行下载,此时会出现下载速度慢,经常出现 timeout 错误的问题。一个可行的方法是切换使用国内的镜像源,如清华的镜像源,下载速度会大大提高。临时使用镜像源的命令为在 install 后加入 -i 参数,其功能为将 Python 包索引( Python Package Index,PyPi )的 URL 由默认的国外源( https://pypi.org/simple )更改为 -i 参数指定的地址。

    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple package_name           #通过清华源下载软件包 package_name

  也可以通过 pip config 直接设置为默认的软件源。更多可以参见清华大学开源软件镜像站pypi 镜像使用帮助

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

  卸载软件包 —— pip uninstall

    pip uninstall package_name         #卸载 package_name 对应的软件包

  其他辅助命令  

  下面列举一些 pip 的其他辅助指令。

    pip list                #显示已安装的软件包
    pip show package        #显示某个安装包的信息,如 pip show numpy
    pip help command        #查看 pip command 命令的用法,如 pip help install
    pip search name         #查看名称中包含有 name 的相关软件包

  关于使用 pip 安装某些包时出现 "pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='xxxxx', port=443): Read timed out." 错误,可以通过 pip 命令的 --timeout 选项指定 socket 超时时间。 pip 的默认设置为 15s,在使用 pip 安装软件的网络环境较差时经常可能出现超时的现象,解决方法可以是使用 --timeout 参数将超时限制变大。

    pip install xxx --timeout 50        //设置超时时限为 50s

  3. conda 使用清华镜像软件源等

  使用 anaconda 提供的包管理器 conda 安装 pytorch 等软件包的时候,速度会比较捉急,其中一个重要原因在于这些软件包的源位于国外,相应的下载速度也会受到影响。一个可行的解决方案是换用国内的镜像源来进行对应的软件包下载,比如清华 Anaconda 镜像源,设置源的方法也比较简单。

  首先将对应镜像源的地址通过 conda config --add 命令加入 conda 的 channel 列表中,可以选择添加整个镜像源的地址或只添加与 pytorch 相关的镜像源的地址。

    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/       #添加整个镜像源的地址
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/     #添加镜像源中 pytorch 对应的地址

  通过 conda config 命令来设置使用 conda 进行软件包下载时显示软件包的获取 url,这样就可以看到下载软件包的时候是否是从镜像源下载。通过执行命令 conda config --set show_channel_urls yes,Windows 环境中用户主目录下会生成对应的 .condarc 文件,里面保存一些与源相关的信息。

    conda config --set show_channel_urls yes    #下载时显示软件包的来源

  通过 conda config --show-sources 命令查看添加的软件源。

    conda config --show-sources    #查看已有的软件源

  通过 conda config --remove 命令删除某个源。

    conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/    #删除某个源

  安装 pytorch

  从 pytorch 的官网通过环境获取对应的 conda 安装命令后,将最后的 -c 命令去掉,即可通过前面添加的镜像源直接安装 pytorch,速度感人。

    conda install pytorch torchvision cudatoolkit=10.1 -c pytorch    #官网查询的安装 pytorch 的 conda 命令
    conda install pytorch torchvision cudatoolkit=10.1               #本地使用的安装命令,去掉 -c 参数

  参考:

  Anaconda 镜像使用帮助——清华源

  Anaconda清华镜像源的使用及安装Pytorch失败问题解决

  4.设置 jupyter notebook 使用的默认浏览器

  笔者直接使用 jupyter notebook 开启编辑时,会在 IE 浏览器中打开工作页面。这里记录下如何设置 jupyter notebook 默认在 chrome 中打开。

  (1) 首先生成配置文件,在命令行中执行以下命令生成配置文件 jupyter_notebook_config.py ,命令行也会给出对应配置文件的所在位置。为用户主目录的 .jupyter 目录下,即  C:Usersyh.jupyterjupyter_notebook_config.py .

    jupyter notebook --generate-config    //生成配置文件

  (2) 通过编辑器打开上述目录中的配置文件。通过 browser 关键字可以看到配置文件中与 browser 所相关的部分,其中提到默认的浏览器实际上是由 webbrowser 模块来确定的。可以在命令行中通过 --browser 指令进行修改( 控制 NotebookApp.browser 选项)。这里记录的是再配置文件中直接设置该选项从而修改默认浏览器。具体而言,即通过 webbrowser 模块进行浏览器设置,并通过 NotebookApp.browser 字段设置为对应的浏览器。( 配置文件中的注释符为 '#' )

    import webbrowser                   #导入 webbrowser 模块
    webbrowser.register("chrome", None, webbrowser.GenericBrowser(u"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"))  #注意地址换为浏览器地址,可通过图标打开文件位置找到
    c.NotebookApp.browser = 'chrome'    #设置使用的浏览器为 chrome

  

原文地址:https://www.cnblogs.com/yhjoker/p/12371450.html