举荐学习金三即过,这300道python高频面试都没刷,银四怎么闯?
本文旨在讲解怎样在Android平板或手机上搭建Python研发环境,帮忙Python初学者有效利用碎片化时间进行学习,从而达到良好的学习效果。
针对大部分初学Python的人来讲,因为工作、生活等原因常常没法进行连贯、系统的学习。初学者为了利用上下班通勤等碎片化时间进行学习,一般会在平板上观看学习视频并做记录。虽然这种办法很好,但效果还是不如边学边练来得好。
因此呢,你必须的是这个:
不多说,让咱们起始吧!
1、Termux安装与配置
1. 系统需求Android 7.0以上的平板或手机。这儿意见运用兼顾了便携性和屏幕尺寸的8寸平板。2G以上可用空间。因为必须安装各样软件包,对存储空间的消耗还是比很强的。
2. Termux安装
在安装Termux前,必须认识一下什么是Termux。
Termux 是一款支持 Linux 环境的 Android 终端模拟器APP。你无需对手机进行root或额外设置就可运用。这款APP会在手机中自动安装一个最小化基本系统,并支持运用 APT 包管理工具安装软件。
日前Termux官网(https://termux.com/)意见运用F-Droid进行安装,再也不支持经过Google Play进行安装。 主程序Termux下载位置:https://f-droid.org/repo/com.termux_106.apk美化工具Termux:Styling下载位置:https://f-droid.org/repo/com.termux.styling_29.apk
3. Termux基本操作快捷键Ctrl + A -> 将光标移动到行首
Ctrl + E -> 将光标移动到行尾
Ctrl + C -> 中止当前进程
Ctrl + D -> 注销终端会话
Ctrl + K -> 从光标删除到行尾
Ctrl + U -> 从光标删除到行首
Ctrl + L -> 清除终端
Ctrl + Z -> 挂起(发送SIGTSTP到)当前进程
音量加 + E -> Esc键
音量加 + T -> Tab键
音量加 +1 -> F1(音量增多 + 2 → F2…以此类推)
音量加 + 0-> F10
音量加 + B -> Alt + B,运用readline时返回一个单词
音量加 + F -> Alt + F,运用readline时转发一个单词
音量加 + X -> Alt+X
音量加 + W -> 向上箭头键
音量加 + A -> 向左箭头键
音量加 + S -> 向下箭头键
音量加 + D -> 向右箭头键
音量加 + L -> | (管道字符)
音量加 + H -> 〜(浪花号字符)
音量加 + U -> _ (下划线字符)
音量加 + P -> 上一页
音量加 + N -> 下一页
音量加 + . -> Ctrl + \(SIGQUIT)
音量加 + V -> 表示音量掌控
音量加 + Q -> 切换表示的功能键视
音量加 + K -> 切换表示的功能键视图4. 修改软件源
安装完Termux后,运用如下命令自动替换官方源为清华镜像源: sed -i s@^\(deb.*stable main\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/termux-packages-24 stable main@ $PREFIX/etc/apt/sources.list
sed -i s@^\(deb.*games stable\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/game-packages-24 games stable@ $PREFIX/etc/apt/sources.list.d/game.list
sed -i s@^\(deb.*science stable\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/science-packages-24 science stable@ $PREFIX/etc/apt/sources.list.d/science.list
apt update && apt upgrade5. 安装基本组件
在配置Python研发环境前,咱们还必须运用如下命令安装有些基本软件包: p公斤 install -y zsh curl wget build-essential
p公斤 install -y git python nodejs-lts perl ipython
p公斤 install -y neovim lazygit ranger fzf2、终端配置
1. Shell配置安装oh-my-zsh
Shell的类型有非常多种,Termux下默认运用的是bash,这儿运用功能更强大的zsh来代替bash。为了让初学者更好地运用zsh,必须先安装高档大气上档次,狂拽炫酷吊炸天的oh-my-zsh。 sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
安装过程中,会提示是不是切换shell为zsh,输入回车或Y就可。
另外,还必须安装zsh-autosuggestions插件,用于自动补全: gitclone https://github.com/zsh-users/zsh-autosuggestions${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-autosuggestionsoh-my-zsh必须运用nano、neovim等终端编辑器修改.zshrc文件来进行配置,在plugins部分添加插件支持: plugins=(
git
python
colorize
zsh-interactive-cd
zsh-navigation-tools
zsh-autosuggestions
)2. 主题美化
2.1 配色与字体
长按屏幕,点击More,选取Style能够选取配色和字体,举荐运用Neon配色和JetBrains Mono字体,亦能够经过修改~/.termux/目录下的colors.properties和font.ttf文件进行自定义。
2.2 主题配置
接下来安装powerlevel10k的主题: 安装
输入如下命令下载powerlevel10k: git clone --depth=1 https://gitee.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k修改.zshrc文件,将ZSH_THEME="robbyrussell"改为ZSH_THEME="powerlevel10k/powerlevel10k"。 配置
重新打开Termux,输入p10k configure进入powerlevel10k的配置界面。第1次会自动下载默认字体,安装后会自动退出,重新打开Termux就可。
能够按照配置向导的提示,定制适合自己风格的终端界面。
3. 启用vi模式(可选)
Termux命令行中修改已然输入的命令比较麻烦。经过开启vi模式,用户能够像在vi编辑器里同样进行操作。针对vi用户来讲,进入这种模式后,编辑和修改命令就显出非常得心应手了。
运用nano、neovim等终端编辑器修改.zshrc文件来进行配置,在plugins部分添加vi-mode项,开启vi模式。在命令行状态下,按Esc键,就可进入vi模式的普通模式。
不外在默认的vi模式存在按键bug,必须在.zshrc文件最后添加如下配置: # Better searching in command mode
bindkey -M vicmd ? history-incremental-search-backward
bindkey -M vicmd / history-incremental-search-forward
# Beginning search with arrow keys
bindkey "\033[1~" beginning-of-line
bindkey "\033[4~" end-of-line
bindkey ^[[3~ delete-char
bindkey "^[OA" up-line-or-beginning-search
bindkey "^[OB" down-line-or-beginning-search
bindkey -M vicmd "k"up-line-or-beginning-searchbindkey -M vicmd "j" down-line-or-beginning-search3、Python包安装与配置
1. 安装环境配置# 配置pypi源
pip install pip -U
pip config setglobal.index-url https://pypi.tuna.tsinghua.edu.cn/simple
# 依赖项
pip install wheel
pip install setuptools --upgrade
2 Python包安装安装numpy和scipy# 添加第三方仓库
curl -LO https://its-pointless.github.io/setup-pointless-repo.sh
bash setup-pointless-repo.sh
# 从仓库安装numpy scipy
p公斤 install -y numpy scipy安装lxml# 安装lxml的依赖项
p公斤 install -y libxml2 libxslt
# 安装lxml
pip install lxml安装pillow# 安装pillow的依赖项
p公斤 install -y libjpeg-turbo libtiff
p公斤 install -y littlecms tk libwebp libsodium
# 安装pillow
pip install pillow安装matplotlib# 安装matplotlib的依赖项
p公斤 install -y freetype libpng
pip install kiwisolver cycler
pip install pyparsing python-dateutil
# 安装matplotlib
pip install matplotlib安装pandas# 安装pandas的依赖项
pip install -y pytz cython
# 安装pandas
export CFLAGS="-Wno-deprecated-declarations -Wno-unreachable-code"
pip install pandas安装jupyter# 安装jupyter依赖项
p公斤 install -y libzmq libcrypt p公斤-config
# 安装jupyter
pip install jupyter
待安装完成,输入jupyter notebook起步,将位置复制到浏览器中就可打开Jupyter。
四、IPython和NeoVim配置
针对期盼在终端下进行运用的朋友,举荐IPython+NeoVim组合。
1. IPython配置安装IPython# 安装yapf
pip install yapf
# 安装Pygments
pip install pygments
# 安装ipython
pip install ipython创建配置文件
运用ipython profile create命令在~/.ipython/profile_default/目录下的创建ipython_config.py配置文件。 修改配置文件
运用neovim、nano等终端编辑器修改~/.ipython/profile_default/目录下的ipython_config.py文件,添加如下配置: # 配置终端颜色
c.InteractiveShell.colors = Linux
c.TerminalInteractiveShell.autoformatter = yapf
# 配置高亮方法,可经过pygmentize -L styles浏览所有可选配置
c.TerminalInteractiveShell.highlight_style = monokai
# 配置魔术命令%editor运用的编辑器
c.TerminalInteractiveShell.editor = nvim
2. NeoVim配置
在配置NeoVim前,必须安装pynvim插件,以扩展NeoVim对Python的支持。 pip install pynvim创建init.vim文件进行基本配置
在命令行下,经过nvim命令进入NeoVim编辑器,输入:e $MYVIMRC编辑NeoVim配置文件,运用:w进行保留,基本设置如下: " 通常设置
set nocompatible "关闭与vi的兼容模式
set number "表示行号
set nowrap "不自动折行
set showmatch "表示匹配的括号
set scrolloff=3 "距离顶部和底部3行"
set encoding=utf-8 "编码
set fenc=utf-8 "编码
set fileencodings=utf-8
set hlsearch "搜索高亮
syntax on "语法高亮
set tabstop=4 "tab宽度
set shiftwidth=4
set smarttab
set backspace=indent,eol,start
set expandtab "tab替换为空格键
set fileformat=unix "保留文件格式
set splitbelow
set cmdheight=2
set completeopt=longest,menu
set splitright
set foldmethod=indent
set foldlevel=99
" 设置空格为leader键
let mapleader=" "运用vim-plug安装NeoVim插件
vim-plug是一款Vim插件管理工具,支持异步并行,能够快速安装、更新或卸载插件。能够经过如下命令进行安装,或手动下载plug.vim文件,复制到在~/.config/nvim/autoload文件夹中。 curl -fLo ~/.config/nvim/autoload/plug.vim --create-dirs \https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
运用vim-plug时,必须在init.vim中添加下列代码块。 " vim-plug插件管理
call plug#begin(~/.config/nvim/plugged)
Plug junegunn/vim-plug
call plug#end()
保留后,在普通模式下输入:so %使配置文件生效,再经过lugInstall进行安装。 常用插件及设置
下面列举了一下常用插件和基本设置: call plug#begin(~/.config/nvim/plugged)
Plug junegunn/vim-plug
" git支持
Plug tpope/vim-fugitive
" Python自动缩进插件
Plug vim-scripts/indentpython.vim
" 项目管理工具
Plug mhinz/vim-startify
" 快速对齐插件
Plug junegunn/vim-easy-align
" 当前光标下的单词增多下划线
Plug itchyny/vim-cursorword
" 快速选取插件
Plug tpope/vim-surround
" 自定义代码片断
Plug honza/vim-snippets
" 语法高亮支持
Plug sheerun/vim-polyglot
" 主题、状态栏设置
Plug haishanh/night-owl.vim
Plug vim-airline/vim-airline
Plug vim-airline/vim-airline-themes
Plug ryanoasis/vim-devicons
" coc扩展
Plug neoclide/coc.nvim, {branch: release}
" fzf模糊查询
Plug junegunn/fzf, { dir: ~/.fzf, do: ./install --all }
Plug junegunn/fzf.vim
" whichkey快捷菜单
Plug liuchengxu/vim-which-key
" 浮动窗口支持
Plug voldikss/vim-floaterm
" ranger文件管理器支持
Plug kevinhwang91/rnvimr
call plug#end()
" 启用标签栏
let g:airline#extensions#tabline#enabled = 1
" 支持图标字体
let g:airline_powerline_fonts = 1
" 设置状态栏主题
let g:airline_theme=night_owl
" 设置主题
set termguicolors
let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum"
let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum"
syntax enable
colorscheme night-owl
安装、配置coc.nvim扩展
coc.nvim是一款支持扩展的插件,类似于油猴,能够经过安装扩展,以实现像Vscode同样运用NeoVim,下面列举了Python关联的coc扩展和配置: " coc扩展
let g:coc_global_extensions = [
\coc-json,
\coc-pyright,
\coc-snippets,
\coc-xml,
\coc-explorer,
\coc-prettier,
\coc-highlight]
" 运用tab键进行补全选取
inoremap <silent><expr> <TAB>
\ pumvisible() ? "\<C-n>" :
\ <SID>check_back_space() ? "\<TAB>" :
\ coc#refresh()
inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>"
function! s:check_back_space() abort
let col = col(.) - 1
return !col || getline(.)[col - 1] =~# \s
endfunction
" 运用回车进行补全选取
inoremap <silent><expr> <cr> pumvisible() ? coc#_select_confirm()
\: "\<C-g>u\<CR>\<c-r>=coc#on_enter()\<CR>"
" Highlight the symbol and its references when holding the cursor.
autocmd CursorHold * silent call CocActionAsync(highlight)
"Add `:Format`command to format current buffer.
command! -nargs=0 Format :call CocAction(format)
" Add `:Fold` command to fold current buffer.
command! -nargs=? Fold :call CocAction(fold, <f-args>)
" Add `:OR` command for organize imports of the current buffer.
command! -nargs=0 OR :call CocAction(runCommand, editor.action.organizeImport)
" 添加状态栏表示支持
set statusline^=%{coc#status()}%{get(b:,coc_current_function,)}
"启用Prettier进行文件自动格式化command! -nargs=0 Prettier :CocCommand prettier.formatFile
let g:prettier#autoformat = 1
" 设置Coc Search
nnoremap <leader>? :CocSearch <C-R>=expand("<cword>")<CR><CR>
另外,coc扩展能够经过在~/.config/nvim/文件夹中创建coc-settings.json文件来进行配置: {
"python.defaultInterpreterPath": "/data/data/com.termux/files/usr/bin/python",
"python.pythonPath": "/data/data/com.termux/files/usr/bin/python",
"python.linting.pylintEnable":true,
"python.formatting.provider": "yapf",
"python.formatting.yapfArgs": [
"--style",
"{SPACES_AROUND_POWER_OPERATOR: True, SPACES_BEFORE_COMMENT: 1}"
],
"explorer.width": 38,
"explorer.quitOnOpen": true,
"explorer.sources": [
{
"name": "buffer",
"expand": false
},
{
"name": "file",
"expand": true
}
],
"explorer.file.column.indent.indentLine": true,
"explorer.file.showHiddenFiles": true,
"explorer.icon.enableNerdfont": true,
"explorer.keyMappingMode": "none",
"explorer.buffer.showHiddenBuffers": false,
"explorer.keyMappings.global": {
"o": ["wait", "expanded?", "collapse", "expand"],
"<cr>": ["wait", "expandable?", "cd", "open"],
"?": "help",
"q": "quit"
},
"coc.preferences.formatOnSaveFiletypes": ["*"],
"prettier.printWidth": 100,
"prettier.eslintIntegration": true,
"prettier.disableLanguages": [],
"prettier.formatterPriority": 1,
"prettier.useTabs": true,
"prettier.trailingComma": "all",
"prettier.singleQuote": false,
"prettier.tabWidth": 4
}配置vim-which-key
vim-which-key是一款快捷键映射插件,能够经过简单的设置进行快捷键自定义功能的实现。下面列举了vim-which-key的简单设置: " 将空格设置为whichkeyleader键
nnoremap <silent> <leader> :WhichKey <Space><CR>
"whichkey基本配置let g:which_key_timeout = 100
let g:which_key_display_names = {<CR>: ↵, <TAB>: ⇆}
let g:which_key_map = {}
let g:which_key_sep = →
letg:which_key_use_floating_win = 0let g:which_key_max_size = 0
" 呼出whichkey时隐匿状态栏
autocmd! FileType which_key
autocmd FileType which_key set laststatus=0 noshowmode noruler
\| autocmd BufLeave <buffer> set laststatus=2 noshowmode ruler
" 自定义whichkey
let g:which_key_map[?] = search word
letg:which_key_map[/] = [ :call Comment() , comment ]
let g:which_key_map[.] = [ :e $MYVIMRC , open init ]
let g:which_key_map[;] = [ :Commands , commands ]
let g:which_key_map[e] = [:CocCommand explorer --toggle --sources=file+ , explorer ]
let g:which_key_map[n] = [ :let @/ = "" , no highlight ]
let g:which_key_map[q] = [ <lug>(coc-fix-current) , quickfix ]
let g:which_key_map[u] = [ :UndotreeToggle , undo tree]
let g:which_key_map[t] = [:FloatermNew --wintype=normal --height=6 , terminal]
letg:which_key_map[r] = [ :FloatermNew ranger , ranger]
let g:which_key_map[f] = [:FloatermNew fzf , fzf]
let g:which_key_map[g] = [:FloatermNew lazygit , git]
letg:which_key_map[p] = [:FloatermNew python , python]
call which_key#register(<Space>, "g:which_key_map")
在NeoVim中运行Python脚本
能够经过在NeoVim中添加自定义功能,从而在编写时运行当前Python脚本。 "在普通模式下,按r来运行Python脚本
noremap r :call RunPython()<CR>
func! RunPython()
exec "w"
if &filetype == python
exec "!time python %"
endif
endfunc
5、结语
本文重点分享了一下在Android平板上配置Python学习环境的经验,关联配置文件请参见以下链接:https://gitee.com/knightz1224/termux_config,谢谢大众支持!
作者:Python中文社区
原文链接: https://mp.weixin.qq.com/s/v0_NkTOxmvUuaVvt5EYBVA
|