0%

Python学习笔记

本文记录了小编在学习Python的过程中总结的知识点以及常用语法

创建kernel

如果用 jupyter lab来编辑 python 脚本那么一定会用到 kernel,下面通过创建 python 3.8 的 kernel 为例简单介绍一下如何基于 conda 创建自定义的 kernel

Step1. 创建python环境

# 在-p后面指定python环境的安装路径,之后要制定python的版本
conda -p /Users/huangning/.../python3.8 python=3.8

Step2. 创建kernel的json

cd /usr/local/share/jupyter/kernels

# 创建文件夹用来存放即将新建的kernel和python环境信息
mkdir python3.8

# 配置python环境对应kernel的json文件
cd python3.8

# 编辑json文件
vi kernel.json

############################
{
"argv": [
"/Users/huangning/.../python3.8/bin/python3", #python的可执行文件路径
"-m",
"ipykernel_launcher",
"-f",
"{connection_file}"
],
"display_name": "huangpy3.8", # 创建的kernel名称
"language": "python"
}

Step3. 启动kernel

# 为了使新创建的huangpy38的kernel正常启动,需要切换成新安装的python黄酱,用pip下载ipykernel

# 1) 激活虚拟的conda环境,会自动跳到base环境
source activate

# 2) 列出conda已有的python环境
conda env list / conda info -e

# 3) 切换到指定的python环境
conda activate /Users/huangning/.../python3.8

# 4) 安装ipykernel,用conda创建环境的时候可以在末尾直接加ipykernel参数,就可以省略这一步
pip install ipykernel

这样就完成了自定义 kernel 的创建

# conda用法补充

# 1. 删除某个conda环境
# 1)按照指定路径删除环境
conda remove -p /Users/huangning/.../python3.8 --all
# 2) 按照指定名称山删除环境
conda remove -n python3.8 --all

# 2. 删除某个conda环境下的某个包
# 1) 按照指定路径删除环境
conda remove -p /Users/huangning/.../python3.8 pandas
# 2) 按照指定名称删除环境
conda remove -n python3.8 pandas

# 3. 退出当前虚拟环境(默认返回base)
conda deactivate

# 4. 查看当前python环境下安装了哪些python包
conda list

# 5. 查看conda版本
conda -v

# 6. 查找可供安装的python
# 1) 精确查找
conda search --full-name python
# 2)模糊查找
conda search py

# 7. 关闭自动启动的conda
conda config --set auto_activate_base false

自定义模块导入

使用IDEA有时会碰到想要导入自定义模块但是找不到路径的问题,针对该问题的解决办法首先要指定Source Root,这样系统就会从Source Root还有python的包路径site-packages下面搜索指定模块的路径,因此需要导入模块的顶级目录的的上级目录设置为Source Root,这样导入指定模块的时候会从Source Root下面开始寻找

如果打包的python项目中也含有导入自定义模块的语法,那么需要针对语法中顶级目录的上级目录来打包,这样之后如果安装它(撕毁打包的项目)可以保证site-packages留下的是顶级目录而不是顶级目录的上级目录,之后也可以通过from xxxx.xxx import xxx语句就可以从site-packages中搜索到之前安装的顶级目录了;如果安装的python包里面有自定义模块导入的语法也不会报错,因为会顺利地从site-packages下面找到自身包的顶级目录