记录下 Python 相关的一些细碎的东西。
在 Linux 和 Windows 环境下均可以使用定位 python/pip 的文件位置。在 Windows 环境下,可以使用 where 命令,而 Linux 环境下,可以使用 which 命令.
where python #查看系统上可用的 python 执行文件的位置 where pip #查看 pip 可执行文件位置
如在笔者 Windows 系统上,通过命令行执行 where python 命令的结果如下图所示,可以看到系统上存在的 python 解释器包括 Anaconda 附带的 python 和笔者另外安装的 python 程序。
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
使用 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清华镜像源的使用及安装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