Python科学计算--Conda与Jupyter基础配置

1. 前言


  Python作为解释型编程语言,支持动态类型和面向对象;其基础语法简洁,学习成本低,作为胶水语言成为多数平台上编写脚本和快速开发应用的首选编程语言之一。对于做科学计算而非IT行业而言,语法简洁、用起来方便快捷才是王道;语言的性能,在目前硬件大幅度增加的情况,基本不是大问题。对性能有较高要求的,可以基于C/C++编写程序,由Python进行调用,常用的计算、算法类第三方开源库基本上也都是基于C/C++或者Java编写的,提供Python调用的接口函数。Python具有丰富的开源第三方开源库:数学计算类,如Numpy/SCipy、Pandas、Sympy等;数据绘图库,如Matplotlib、Seaborn等; 机器或深度学习类,如scikit-learn、Pytorch、TensorFlow等;还有科学计算加速库,主要是基于JIT技术,如Numba,Taichi也可采用装饰器进行大型计算的加速。主流的开源第三库一般来说,文档比较清晰,便于使用,建议看英文原版的比较好。

  就个人体验而言,Jupyter的交互式编程环境更加适合科学计算。一般是直接安装Anaconda即可,默认版本不同库之间的兼容性可能会比较;单独安装的时候需要注意Python的版本以及需要兼容的底层库,如Numpy。特此,把Conda和Jupyter配置相关的问题总结如下,供参考;其中,大多来源网络资料。

2. Conda基础配置


在安装按Anaconda或Miniconda后,可以根据需要对Python环境进行管理,对库进行版本升级或降级管理。

2.1 Conda常用命令:

#升级全部库:  
conda upgrade --all
#升级一个包  
conda update packagename
#安装包:
conda install packagename
#也可以安装多个包:   
conda installl numpy pandas scipy
#安装固定版本的包:
conda install numpy =1.10
#移除一个包:
conda remove packagename 
#查看所有包:
conda list 
#删除索引缓存、锁定文件、未使用过的包和tar包
conda clean -a 
#清楚索引缓存
conda clean -i

2.2 更新conda主程序:

conda update conda
conda update anaconda
# update最新版本的anaconda-navigator
conda update anaconda-navigator    

2.3 创建虚拟环境:

conda create -n 环境名 python=3.6 
# 示例2:
conda create -y --name wes python=3.8

# 创建环境并指定包内容
conda create -n your_env_name python=3.5 numpy pandas

2.4 管理Python环境:

#激活环境: 
conda activate env_name
#退出环境 :  
conda deactivate  env_name
#删除虚拟环境:
conda remove -n 环境名 --all
#显示所有虚拟环境:
conda info -e 
conda env list  
# conda 创建的虚拟环境是在anaconda安装目录下的evens下,所以使用pycharm,只要在特定项目配置运行环境就可以了

注意几点

  • 更新指定包到最新的可兼容的版本,conda中的update与upgrade作用相同。
  • 删除指定包,conda中的uninstall与remove作用相同。
  • 环境管理(包括创建、删除、激活以及环境中库的管理)也可以在Anaconda Navigator中可视化管理。
  • 安装库包的过程如果断开网了会出现临时文件,下次安装可能会显现警告,应删除安装目录下:X:\xx\anconda\envs\pytorch\lib\site-package下目录文件夹含有“~”的文件夹,再重新安装即可。

2.5 pip常用命令:

有时候第三方库需要采用pip进行安装

#查看pip版本
pip --version
#升级pip,如果pip的版本太低,可以升级当前版本
pip install --upgrade pip
#使用pip安装第三方库,执行下面语句
pip install package_name
#指定package版本:
pip install package_name==1.1.2
#卸载安装好的库:
pip uninstall package_name
#对库进行版本升级:
pip install --upgrade package_name
#查看库信息
pip show -f package_name

3. Jupyter基础配置


3.1 修改Jupyter默认工作目录

1.首先要找到配置文件位置: 在开始菜单里找到并打开Anaconda Prompt,输入命令 jupyter notebook --generate-config ,然后执行。
2.打开上一步生成的配置文件: "C:\Users\Administrator\.jupyter\jupyter_notebook_config.py",可以采用Everything等软件直接搜索对应的文件名即可。
3.在"jupyter_notebook_config.py"中找到并修改如下配置项:
  修改前:  # c.NotebookApp.notebook_dir = ''
  删除前面的 # 号,在后面的单引号里输入要设置的目录路径,保存关闭。
4. 在win开始菜单中找到jupyter notebook快捷图标,鼠标右键>>属性>>快捷方式>>目标,删除最后的 "%USERPROFILE%/",后续打开jupyter就是刚配置的目录。

3.2 扩展插件安装:

  1. 安装并激活 jupyter_contrib_nbextensions
#为了快速安装的速度,先临时使用清华的镜像,这样并不会改变默认的pip参数。
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple jupyter_contrib_nbextensions (这个可以不加)
pip install jupyter_contrib_nbextensions 
jupyter contrib nbextension install --user
  1. 安装并启用 Jupyter Nbextensions Configurator
pip install jupyter_nbextensions_configurator
jupyter nbextensions_configurator enable --user

除了实用 pip 安装以外,还可以使用conda进行完成以上两步,命令如下:

conda install -c conda-forge jupyter_contrib_nbextensionsconda install -c
conda-forge jupyter_nbextensions_configurator
  1. 安装完成以后,打开 jupyter notebook 可以看到菜单栏多了 :Nbextensions 一栏,这样就可以安装插件了.常用的插件:Table of Contents, Variable Inspector 和 ExcecuteTime。

3.3 主题插件安装与配置:

1.安装主题插件及基本配置

# 安装jupyterthemes
pip install jupyterthemes
# 更新到最新版本的jupyterthemes
pip install --upgrade jupyterthemes
# 查看可用的jupytertheme主题
jt -l
# 恢复原主题
jt -r 
# 设置主题格式:-f(字体) -fs(字体大小) -cellw(占屏比或宽度) -ofs(输出段的字号) -T(显示工具栏) -N(显示自己主机名)
jt -t monokai -f fira -fs 13 -cellw 90% -ofs 11 -dfs 11 -T -N

2.修改Jupyter注释字体
默认的注释字体是浅绿色,且是斜体,有时候看起来很不舒服;到安装目录下:"D:\Anaconda.conda\envs\pytorch\Lib\site-packages\notebook\static\custom"下面的"custom.css";或者在用户配置文件下:"C:\Users\Administrator.jupyter\custom"修改"custom.css"也统一可以,我修改的是后者。

/*
Placeholder for custom user CSS,mainly to be overridden in profile/static/custom/custom.css
This will always be an empty file
更改主题时会覆盖本文件,需要重新修改。
字体可以设置一种与代码字体有较大差异的,我主要适用的是华文行楷(HGXK_CNKI.ttf),根据windows字体文件夹对应字体的名字确定,
*/
span.cm-comment {font-family:  HGXK_CNKI !important; font-style:normal !important; color:#FFAE3C !important;}

3.4 解决Matplotlib下坐标轴名称默认不支持中文的问题

1.在python安装目录的Lib目录下创建ch.py文件,文件中代码如下:

#-*-coding:utf-8-*- 
#文件名: ch.py 
def set_ch(): 
  from pylab import mpl 
  mpl.rcParams['font.sans-serif'] = ['FangSong'] # 指定默认字体,选择支持中文较好的即可。 
  mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题 

保存,在使用时通过以下代码调用即可:

import ch 
ch.set_ch() 

3.5 Jupyter添加其他语言内核(交互式笔记本,支持40+编程语言):

1.基础命令,查看是否安装了ipykernel:

python  #进入Python环境下
import ipykernel as ipk  #导入该模块,如果没有就会报错
ipk.__version__  # 查看版本
ipk.__file__  # 查看位置

2.在cmd命令行下相关命令:

#查看安装的内核和位置 
jupyter kernelspec list
#如果不正确移除该名字的kernel(假设叫做env1)或者不想要该kernel直接移除
jupyter kernelspec remove env1 

对于不同语言的支持,可以查看相关文档,或百度相关教程进行配置;

以开源Octave内核创建与使用为例:

#首先,下载安装Octave(已安装Jupyter的前提下)
pip install metakernel
pip install octave_kernel
python -m octave_kernel install

#然后,添加Octave的环境变量
OCTAVE_EXECUTABLE= where is octave installed
#最后,重启Jupyter就可以查看多了一个Octave kernel了。
#环境变量也可以在“我的电脑”上右键,选择“属性”,点击“高级系统设置”,找到“环境变量”,在“系统变量”下新建一个变量,名称为“OCTAVE_EXECUTABLE”,地址为“安装盘:\octave\Octave-6.4.0\mingw64\bin\octave-gui.exe”,设置好后选择确定,保存。   
#注意:这里后面一定是要到.exe文件且选择octave-gui.exe,而不是octave-cli.exe,否则画图的时候,如使用plot会报错。

以Matlab内核创建与使用为例:

#首先,切换到对应的python环境(我的是Anaconda默认的base环境),运行下列命令在虚拟环境jupyter安装matlab_kernel:
pip install matlab_kernel
# 切换到matlab安装目录的extern/engines/python/,在cmd命令行运行命令(注意需要python的版本与matlab支持的版本匹配):
python setup.py install
#查看已经安装的内核:
Jupyter kernelspec list

python的版本与matlab支持的版本匹配

posted @ 2022-10-20 11:23  Happeray彡  阅读(495)  评论(0)    收藏  举报