【Python】Anaconda安装、环境管理、第三方包管理、Jupyter Notebook;Pytorch安装

1 Anaconda安装

1.1 下载地址

Anaconda官网下载地址:Individual Edition (Open Source Distribution)
Anaconda清华镜像下载地址:清华大学开源镜像站-Anaconda

1.2 注意事项

  1. 添加环境变量
    添加环境变量和设置默认Python版本

第一项:是否把Anaconda加入环境变量。这涉及到能否直接在cmd中使用conda、jupyter、ipython等命令,推荐打勾。
第二项:是否把Anaconda自带的Python3.7设置成系统默认的Python,这个根据需求自选。

2 环境管理

2.1 Anaconda中新建环境

为了保持Anaconda根目录/根环境的清洁,或为了同时安装不同版本的Python(如Python 2和Python 3,但Anaconda 2020.02版本已经不再支持Python 2,且固定Python版本为3.7),通常需要建立多个运行环境。(注意:新建环境的过程需要下载、安装anaconda的包,因此要先加速包的下载、安装,且“使用pip安装”和“使用conda安装”均要设置。)

在Anaconda中建立新的运行环境的操作方式有下面给两种:

2.1.1 通过Anaconda Navigator交互界面创建

  1. 打开Anaconda Navigator。
  2. 分别点击“Environments”、“Create”。
    新建环境
  3. 填写环境名称(英文、最好不要有空格)、勾选语言类型及版本,点击“Create”。
    环境名称、语言类型及版本
  4. 等待一段时间后,新环境即可创建完毕。

2.1.2 通过cmd创建

  1. 创建Python 3的环境:键盘同时按下Win+R调出“运行”窗口,输入cmd后点击确定调出命令行窗口,在命令行窗口键入conda create --name Python37 python=3.7(此处Python版本选择的为3.7)。
  2. 激活Python37环境:在命令行窗口键入activate Python37,进入Python37的环境。
  3. 安装Python 3的包:继续在命令行窗口键入conda install --name Python37 anaconda,等待安装结束。
  4. 打开Jupyter Notebook:在命令行窗口键入jupyter notebook就可以进入基于Python 3.7的notebook。
  5. 退出Python37环境:如果需要退出Python 3的环境,键入conda deactivate退出。

创建完毕后,在cmd中键入以下代码查看当前环境下的可用kernel。

conda activate Python37
jupyter kernelspec list

随后,再检查指定环境及kernel下的配置文件(文件路径及名称:C:\Anaconda3\share\jupyter\kernels\python3\kernel.jsonC:\Anaconda3\envs\Python37\share\jupyter\kernels\python3\kernel.json)内变量设置是否正确。不论是Python37环境下还是base环境下,kernel python3的配置文件中的变量均应设置为:
kernel python3的变量值
解释
argv:设置kernel所对应版本的Python的启动路径,请对应到相应版本的Python应用程序路径,如E:\\Anaconda3\\envs\\Python37\\python.exeE:\\Anaconda3\\python.exe
display_name:Jupyter Notebook中kernel选项框中所展示的名字,可随意修改。
language:表示使用python语言,请保持不变。

2.2 cmd命令代码

python -version
# 查看当前Python的版本
conda info -e
# 查看已有的环境
conda activate env_name
# 激活某环境
conda deactivate
# 退出当前环境
jupyter kernelspec list
# 查看当前环境下可用的kernel
conda remove -n env_name --all
# 删除指定的环境和库(如果不添–all参数,而是指明某个库名,则是删除该库)

3 第三方库管理

注意:如果安装库的话,一定要先激活特定的环境,否则会污染根环境!!!

3.1 加速第三方库的下载、安装速度

3.1.1 使用pip安装

pypi.python.org 是 Python 的官方第三方库存储平台,可将写好的库打包后进行上传,我们所使用的pip install命令就是从该网站上下载我们所需要的库并进行安装。但是由于pypi.python.org 的服务器在国外,所以造成我们使用pip install命令进行第三方库的下载、安装时网络速度不稳定或极慢。为了解决这一问题,我们可以通过设置pypi.python.org 的镜像源作为pip install的下载地址即可。

更改pip install默认下载地址的操作方式有以下两种:

3.1.1.1 临时设置

在安装的时候,通过 pip 命令中的 -i 选项指定下载源即可,例如使用清华源安装pyspider库。

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyspider
3.1.1.2 永久设置
  1. Linux系统下,需要修改 ~/.pip/pip.conf 文件(当文件夹或文件不存在时,创建一个同名的文件夹及文件即可。注意:文件夹命名要加“.”,表示是隐藏文件夹)。
  2. Windows系统下,直接在C:\Users\user_name目录下创建一个pip文件夹,并新建文件pip.ini,即C:\Users\user_name\pip\pip.ini

文件内容:

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=pypi.tuna.tsinghua.edu.cn

3.1.2 使用conda安装

同理,Anaconda.org 是 Anaconda 的官方第三方库存储平台,可将写好的库打包后进行上传,我们所使用的conda install命令就是从该网站上下载我们所需要的库并进行安装。但是由于Anaconda.org 的服务器在国外,所以造成我们使用conda install命令进行第三方库的下载、安装时网络速度不稳定或极慢。为了解决这一问题,我们可以通过将Anaconda.org 的镜像源加入conda的配置,作为conda install的下载通道即可。

3.1.2.1 临时设置

在安装的时候,通过 conda 命令中的 -c 选项指定下载通道即可,例如使用清华源安装pyspider库。

conda install -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs pyspider
3.1.2.2 永久设置

永久添加conda install的下载通道时,需要在cmd窗口中运行以下代码:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
# 设置搜索时显示通道地址(该行命令不用运行)

3.1.3 常用的国内镜像源地址

常用的国内第三方源有:

  1. 清华:https://pypi.tuna.tsinghua.edu.cn/simple
  2. 阿里云:http://mirrors.aliyun.com/pypi/simple/
  3. 中国科技大学:https://pypi.mirrors.ustc.edu.cn/simple/
  4. 华中理工大学:http://pypi.hustunique.com/
  5. 山东理工大学:http://pypi.sdutlinux.org/
  6. 豆瓣:http://pypi.douban.com/simple/

注意:新版ubuntu要求使用https源。

3.2 cmd命令代码

pip install package_name
# 使用这种安装方式会安装最新版本的包
pip install package_name==version
# package_name:第三方包名称;version:版本号。
# 如pip install mkl-service==1.1.2,即是安装1.1.2版本的mkl-service
conda install -n env_name -c channel_link package_name==version=build
# package_name:第三方包名称;version:版本号;build:细分版本号
# 如果不用-n指定环境名称,则被安装在当前活跃环境
# 可以通过-c指定通过某个channel安装
# 如conda install -n Python37 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs mkl-service==1.1.2=py35_2,即是在Python37环境中通过清华镜像源安装1.1.2版本下build为py35_2的mkl-service
pip list
# 列举出当前环境安装的所有包
conda list
# 列举出当前环境安装的所有包
pip show package_name
# 显示安装包的信息
conda update package
# 更新包
pip uninstall package
# 卸载包
conda uninstall package
# 卸载包
pip freeze > ./requirements.txt
# 生成当前项目/环境所包含的第三方包的requirements.txt文档
pip install -r path/requirements.txt
# path:requirements.txt的文件路径
# 先激活想要批量安装第三方包的环境,然后执行此命令安装文档中的第三方包/项目依赖包

3.3 常用requirements.txt文档

3.3.1 内容&格式

mkl==2017.0.1
numpy
……
注意:不指定版本则安装最新版本,也不要 == 符号

3.3.2 示例

awscli # Install awscli for deploy_model functionality in Pycaret
bayesian-optimization
catboost
deap # Distributed Evolutionary Algorithms in Python
h5py
hyperopt
ipywidgets
keras
lightgbm
matplotlib
mkl(==2017.0.1) # It is must installed with conda
mkl-service(==1.1.2) # It is must installed with conda
numba # Accelerate Numpy computation
numpy
pandas
pandas_profiling
POT # Optimal transport theory library
psutil # Install psutil for system logging in Pycaret
pycaret # PyCaret is an open source, low-code machine learning library in Python
pyecharts
pyswarms # PySwarms is an extensible research toolkit for particle swarm optimization (PSO) in Python
scikit-learn
scipy==1.4.1
seaborn
shap # Install shap for interpret_model functionality in Pycaret, and if build for shap fails using pip: conda install -c conda-forge shap
tensorflow==2.2.0 # tensorflow 2.2.0 has requirement scipy==1.4.1
tqdm
widgetsnbextension
xgboost

4 Jupyter Notebook

4.1 设置Cell的多行输出

4.1.1 临时设置

在Notebook的首个cell中添加以下代码可以实现多行输出:

from IPython.core.interactiveshell import InteractiveShell 
InteractiveShell.ast_node_interactivity = 'all' #默认为'last'

4.1.2 永久设置

如果需要一劳永逸的在每个文件中自动实现这个功能,可以在以下路径:
Mac OS/Users/your_user_name/.ipython/profile_default/
WindowsC:\Users\your_user_name\.ipython\profile_default
的文件夹下创建ipython_config.py文件。(Mac OS下你可以在终端进入这个目录touch ipython_config.py来创建)。
然后打开ipython_config.py文件,添加以下两行:

c = get_config()
c.InteractiveShell.ast_node_interactivity = "all"

保存,重启Notebook后生效。

4.2 Jupyter NbExtensions Configurator插件

4.2.1 安装

安装前先激活特定的环境。

4.2.1.1 使用pip安装

在已激活特定环境的cmd中输入以下代码:

pip install jupyter_nbextensions_configurator jupyter_contrib_nbextensions
jupyter contrib nbextension install --user
jupyter nbextensions_configurator enable --user
4.2.1.1 使用conda安装

在已激活特定环境的cmd中输入以下代码:

conda install -c conda-forge jupyter_contrib_nbextensions
conda install -c conda-forge jupyter_nbextensions_configurator
jupyter contrib nbextension install --user

4.2.2 常用的功能插件

  1. Collapsible headings
    在这里插入图片描述
  2. Notify
    Notify
  3. Codefolding
    Code folding
  4. tqdm_notebook
    实际上tqdm_notebook不是Notebook原有的插件,tqdm原本是一个Python模块,它可以为循环代码显示执行进度条,调用方法如下:
    from tqdm import tqdm_notebook
    
    for i in tqdm_notebook(xrange(100), desc = '1st loop'):
    	print(i)
    
  5. Autopep8
    Autopep8会根据Pep8准则自动调整代码的缩进错误。
    Autopep8
  6. spellchecker
  7. Execute Time
  8. Table of Contents (2)
  9. Highlight selected word
  10. Nbextensions dashboard tab
  11. contrib_nbextensions_help_item
  12. Hinterland
  13. Nbextensions edit menu item

4.3 在远程服务器(SSH)中运行Jupyter Notebook或Python脚本

  1. 首先打开“Windows 10 Settings - Apps&fetures - Optional features”检查“OpenSSH Client”是否已经被添加。
  2. 键盘“Win+R”后在输入框中搜索“cmd”并回车打开命令行窗口。
  3. 输入命令行ssh username@xx.xx.xx.xx -L 8890:localhost:8890以连接远程服务器(识别正确后需要输入密码)。
  4. 接入服务器后,为了保持远程服务器根环境的清洁,运行Jupyter Notebook以及Python脚本前最好先执行以下步骤:
    (1) 建立专用的虚拟环境,命令行为python3 -m venv ~/MyvenvName~/MyvenvName是建立虚拟环境的目录,其中~代表根目录,MyvenvName是虚拟环境的名字,后续要保持一致)。
    (2)随后可选择将根环境中的包复制到虚拟环境中,命令行为python3 -m venv --system-site-packages ~/MyvenvName
    (3)激活虚拟环境的命令行为source ~/MyvenvName/bin/activate,激活后即可使用pip install PackageName安装项目所需的库,退出虚拟环境的命令行为deactivate
    (4)先激活虚拟环境,再将虚拟环境的Python kernel添加到Jupyter Notebook中(需要先安装ipykernel库,命令行为pip install ipykernel),命令行为python -m ipykernel install --user --name MyvenvName --display-name KernelNameInNotebookKernelNameInNotebook是Jupyter Notebook中要显示的Python kernel名称)。
    (5)当项目运行结束后,如果不再使用该虚拟环境,应当及时清除以节省远程服务器空间,命令行为rm -R ~/MyvenvName
  5. 输入命令行jupyter notebook --no-browser --port 8890以打开Jupyter Notebook(如果8890端口被占用,则更换一个可用的即可,同时也要更改第3步中的端口)。
  6. 复制粘贴命令行窗口中给出的Jupyter Notebook链接到本地浏览器中,即可本地运行服务器中的Jupyter Notebook,通过所打开项目的“toolbars-Kernel-change kernel”即可切换所需的Python环境。
  7. 当使用Python脚本运行程序时:
    (1)首先激活Python脚本对应的虚拟环境。
    (2)运行Python脚本的命令行为python3 FileName.py;若防止程序随着终端的关闭而被打断,则需要使用nohup python3 FileName.py &运行,并记录下进程号(如果需要运行多个Python脚本,最好为每个脚本单独建立一个文件夹,并使用cd FolderName进入该文件夹后再输入运行脚本的命令行,因为nohup会自动建立一个nohup.out文件来记录屏幕输出,如果不分文件夹运行各个脚本的话,可能会有冲突)。
    (3)使用jobs -l查看当前终端所有正在运行的Python脚本进程(更多内容请参考linux中nohup和后台运行进程查看及终止)。
    (4)正常运行后即可退出虚拟环境以及终端。

5 Pytorch安装

可以参考以下三篇教程:

  1. 想要使用GPU进行加速?那你必须事先了解CUDA和cuDNN
  2. 保姆级的CUDA的下载安装使用,详细的环境变量配置,不仅仅让你能够安装,还会教你弄懂为什么要这样安装
  3. 官网安装Python包太慢?教你三种Pytorch的下载安装方式,保证你再也不用出现Error

参考资料

  1. 安装Anaconda
  2. 关于加速 pip 安装的两点妙招。
  3. Python- 解决PIP下载安装速度慢
  4. Jupyter Notebook之提高可读性——插件安装及使用(包括插入目录,目录索引及缩进)
  5. jupyter notebook的插件拓展----jupyter_contrib_nbextensions
  6. 五大Jupyter Notebook 扩展工具(非常实用)Top 5 Best Jupyter Notebook Extensions
  7. 10 Jupyter Notebook Extensions Making My Lyfe Easier
  8. How to run Jupyter Notebooks on remote server — SSH
  9. linux中nohup和后台运行进程查看及终止
  • 2
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值