帅瞎了!手机也能写Python代码!手把手教你在手机或平板上配置Python环境!

您所在的位置:网站首页 电脑上怎么写编程 帅瞎了!手机也能写Python代码!手把手教你在手机或平板上配置Python环境!

帅瞎了!手机也能写Python代码!手把手教你在手机或平板上配置Python环境!

2024-07-15 04:55:51| 来源: 网络整理| 查看: 265

本文旨在讲解如何在Android平板或手机上搭建Python开发环境,帮助Python初学者有效利用碎片化时间进行学习,从而达到良好的学习效果。

对于大部分初学Python的人来说,由于工作、生活等因素常常无法进行连贯、系统的学习。初学者为了利用上下班通勤等碎片化时间进行学习,通常会在平板上观看学习视频并做记录。虽然这种方法很好,但效果还是不如边学边练来得好。

因此,你需要的是这个:

不多说,让我们开始吧!

一、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下载地址:代码语言:javascript复制https://f-droid.org/repo/com.termux_106.apk美化工具Termux:Styling下载地址:代码语言:javascript复制https://f-droid.org/repo/com.termux.styling_29.apk 3. Termux基本操作快捷键代码语言:javascript复制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后,使用如下命令自动替换官方源为清华镜像源:

代码语言:javascript复制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 upgrade 5. 安装基本组件

在配置Python开发环境前,我们还需要使用如下命令安装一些基本软件包:

代码语言:javascript复制pkg install -y zsh curl wget build-essential pkg install -y git python nodejs-lts perl ipython pkg install -y neovim lazygit ranger fzf 二、终端配置1. Shell配置安装oh-my-zsh

Shell的类型有很多种,Termux下默认使用的是bash,这里使用功能更强大的zsh来代替bash。为了让初学者更好地使用zsh,需要先安装高档大气上档次,狂拽炫酷吊炸天的oh-my-zsh。

代码语言:javascript复制sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

安装过程中,会提示是否切换shell为zsh,输入回车或Y即可。

此外,还需要安装zsh-autosuggestions插件,用于自动补全:

代码语言:javascript复制git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

oh-my-zsh需要使用nano、neovim等终端编辑器修改.zshrc文件来进行配置,在plugins部分添加插件支持:

代码语言:javascript复制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:

代码语言:javascript复制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的配置界面。第一次会自动下载默认字体,安装后会自动退出,重新打开Termux即可。

可以根据配置向导的提示,定制适合自己风格的终端界面。

图片来源:romkatv/powerlevel10k

3. 启用vi模式(可选)

Termux命令行中修改已经输入的命令比较麻烦。通过开启vi模式,用户可以像在vi编辑器里一样进行操作。对于vi用户来说,进入这种模式后,编辑和修改命令就显得十分得心应手了。

使用nano、neovim等终端编辑器修改.zshrc文件来进行配置,在plugins部分添加vi-mode项,开启vi模式。在命令行状态下,按Esc键,即可进入vi模式的普通模式。

不过在默认的vi模式存在按键bug,需要在.zshrc文件最后添加如下配置:

代码语言:javascript复制# 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-search bindkey -M vicmd "j" down-line-or-beginning-search 三、Python包安装与配置1. 安装环境配置代码语言:javascript复制# 配置pypi源 pip install pip -U pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple # 依赖项 pip install wheel pip install setuptools --upgrade 2 Python包安装安装numpy和scipy代码语言:javascript复制# 添加第三方仓库 curl -LO https://its-pointless.github.io/setup-pointless-repo.sh bash setup-pointless-repo.sh # 从仓库安装numpy scipy pkg install -y numpy scipy安装lxml代码语言:javascript复制# 安装lxml的依赖项 pkg install -y libxml2 libxslt # 安装lxml pip install lxml安装pillow代码语言:javascript复制# 安装pillow的依赖项 pkg install -y libjpeg-turbo libtiff pkg install -y littlecms tk libwebp libsodium # 安装pillow pip install pillow安装matplotlib代码语言:javascript复制# 安装matplotlib的依赖项 pkg install -y freetype libpng pip install kiwisolver cycler pip install pyparsing python-dateutil # 安装matplotlib pip install matplotlib安装pandas代码语言:javascript复制# 安装pandas的依赖项 pip install -y pytz cython # 安装pandas export CFLAGS="-Wno-deprecated-declarations -Wno-unreachable-code" pip install pandas安装jupyter代码语言:javascript复制# 安装jupyter依赖项 pkg install -y libzmq libcrypt pkg-config # 安装jupyter pip install jupyter

待安装完成,输入jupyter notebook启动,将地址复制到浏览器中即可打开Jupyter。

四、IPython和NeoVim配置

对于希望在终端下进行使用的同学,推荐IPython+NeoVim组合。

1. IPython配置安装IPython代码语言:javascript复制# 安装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文件,添加如下配置:

代码语言:javascript复制# 配置终端颜色 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的支持。

代码语言:javascript复制pip install pynvim创建init.vim文件进行基本配置

在命令行下,通过nvim命令进入NeoVim编辑器,输入:e $MYVIMRC编辑NeoVim配置文件,使用:w进行保存,基本设置如下:

代码语言:javascript复制" 一般设置 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文件夹中。

代码语言:javascript复制curl -fLo ~/.config/nvim/autoload/plug.vim --create-dirs \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

使用vim-plug时,需要在init.vim中添加下列代码块。

代码语言:javascript复制" vim-plug插件管理 call plug#begin('~/.config/nvim/plugged') Plug 'junegunn/vim-plug' call plug#end()

保存后,在普通模式下输入:so %使配置文件生效,再通过:PlugInstall进行安装。

常用插件及设置

下面列举了一下常用插件和基本设置:

代码语言:javascript复制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 = "\[38;2;%lu;%lu;%lum" let &t_8b = "\[48;2;%lu;%lu;%lum" syntax enable colorscheme night-owl安装、配置coc.nvim扩展

coc.nvim是一款支持扩展的插件,类似于油猴,可以通过安装扩展,以实现像Vscode一样使用NeoVim,下面列举了Python相关的coc扩展和配置:

代码语言:javascript复制" coc扩展 let g:coc_global_extensions = [ \'coc-json', \'coc-pyright', \'coc-snippets', \'coc-xml', \'coc-explorer', \'coc-prettier', \'coc-highlight'] " 使用tab键进行补全选择 inoremap \ pumvisible() ? "\" : \ check_back_space() ? "\" : \ coc#refresh() inoremap pumvisible() ? "\" : "\" function! s:check_back_space() abort let col = col('.') - 1 return !col || getline('.')[col - 1] =~# '\s' endfunction " 使用回车进行补全选择 inoremap pumvisible() ? coc#_select_confirm() \: "\u\\=coc#on_enter()\" " 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', ) " 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 ? :CocSearch =expand("")

此外,coc扩展可以通过在~/.config/nvim/文件夹中创建coc-settings.json文件来进行配置:

代码语言:javascript复制{ "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"], "": ["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的简单设置:

代码语言:javascript复制" 将空格设置为whichkeyleader键 nnoremap :WhichKey '' " whichkey基本配置 let g:which_key_timeout = 100 let g:which_key_display_names = {'': '↵', '': '⇆'} let g:which_key_map = {} let g:which_key_sep = '→' let g:which_key_use_floating_win = 0 let g:which_key_max_size = 0 " 呼出whichkey时隐藏状态栏 autocmd! FileType which_key autocmd FileType which_key set laststatus=0 noshowmode noruler \| autocmd BufLeave set laststatus=2 noshowmode ruler " 自定义whichkey let g:which_key_map['?'] = 'search word' let g: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'] = [ '(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'] let g: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'] let g:which_key_map['p'] = [':FloatermNew python' , 'python'] call which_key#register('', "g:which_key_map")在NeoVim中运行Python脚本

可以通过在NeoVim中添加自定义功能,从而在编写时运行当前Python脚本。

代码语言:javascript复制"在普通模式下,按r来运行Python脚本 noremap r :call RunPython() func! RunPython() exec "w" if &filetype == 'python' exec "!time python %" endif endfunc


【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭