首页 > Python资料 博客日记
打造便携式Python环境——把Python装进U盘
2024-05-29 01:00:04Python资料围观448次
有时我们需要在一台新设备上进行Python编程,重新安装太麻烦,相关的库还要重新安装,而且如果是别人的设备也不太方便,那么最好的办法就是把Python装进U盘,即插即用。内容全部亲自验证过,适合小白,简单易懂。这里只讨论Windows系统。
一、 Python 坏境安装
这里我们要将python安装进U盘,可以直接使用我们已经安装过的库。
选择什么版本是关键,版本不是越高越好,会导致系统或者相关库不适配。这里我推荐3.7版本的,在win7上也可以运行,我这里以python3.7.0为例。(注意:启用安装包时用的设备中不能有这个版本的python,否则安装包会自动定位系统中已用的python,就无法装进U盘了)
顺便提一下嵌入版python的事,原本我以为这玩意很好用,但只能运行一些小程序,还要自己装pip程序,我之前执行pip安装语句时还会有一些zip报错,很麻烦容易报错,光查资料都用去不少时间,而且vscode还不能识别,pycharm好像可以?所以这里我不推荐,安装正常的python即可。
这里放一个华为的python镜像 https://mirrors.huaweicloud.com/python/
1、下载安装包
选择以下两个安装包之一,选离线安装包。amd64与Windows是32位还是64位没关系,是指CPU是x64的,如果没有特别需求,推荐安装32位的Python,兼容性更好。
2、选择自定义安装,可以选择添加路径看一下格式。
3、这步什么都不用动,直接Next
4、将安装位置选择在U盘中一个提前建好的文件夹,推荐写明python版本。
5、点击Install安装
然后我们打开此电脑->属性->高级系统设置->环境变量->Path,查看格式。win10是表格,而win7是一条横框。
G:\python3.7.0\Scripts\
G:\python3.7.0\
G:\python3.7.0\python.exe
或
G:\python3.7.0\Scripts\;G:\python3.7.0\;G:\python3.7.0\python.exe;
复制进U盘中的一个txt备用。
二、便携式IDE
常用的IDE有很多,我这里主要推荐vscode和pycharm,强烈推荐vscode,体积小,打开快,界面好看,插件多。
(一)VScode
vscode是我最喜欢的编辑器,并且提供免安装版,启动无需添加路径,且插件随身携带,如果你机房的电脑是win10的,可以直接去官网下载zip版。
vscode官方网址:https://code.visualstudio.com/
由于官网上最新的VScode已经不支持win7,如果你的电脑是win7,可以下载老版本,最高不超过1.7.2。我下面放了一个1.6.7版本的,需要自取。
蓝奏云链接:https://wwt.lanzouq.com/ijSkZ1vy80di 密码:63d6
解压在U盘里后,在同级文件夹中创建一个名叫data的文件夹,这个文件夹将会储存你安装的插件和用户数据。
下面介绍几个插件。
1、中文简体
这自然是最重要的,在插件商城安装后,在vscode上方的输入框内输入
>Configure Display Language
后选择中文-CN即可,不过你安装完之后右下角就会有弹窗提示你是否更换语言,restart即可。
说明:vscode第一次打开时自动读取中文包时,有可能翻译不全,此时重新手动选择语言即可。
2、Python插件
你没插件编个啥?不用选一些杂七杂八的,用Microsoft的就行了,里面包含Python,Pylance,Python Debugger三个包。
下载完成后在文件中创建New File,选择python,然后在右下角选择不同版本的python解释器,如果你添加的是系统变量,后面会带一个system,找不到解释器的话见报错总结
3、z-reader / any-reader
摸鱼插件,可以在vscode中看小说,支持txt和equb,是不是很炸裂?它支持在代码层面上改页面和功能。点击左侧插件图标,再点击弹出的目录框右上角的“···”,可以打开放书的本地文件夹,将txt文件或equb文件直接拖进去(不要放进文件夹,再将文件夹拖进去)。在点击”本地“即可读取(会自动排序),代码编累了可以看一会小说(bushi
作者还有一个升级版any-reader,但由于一般用不到更多功能,所以推荐使用轻量版的z-reader
4、Windows Opacity
摸鱼插件,可以让你的vscode变得半透明,一边看视频一边编程。
(二)pycharm
很多大佬都在用的IDE,不过体积偏大,打开较慢,而且颜色给我一种偏老气的感觉,即使颜色换成白色,和Sublime Text 一样,蒙了一层布一样。这个就不多作介绍了,主要是我一般用vscode,用pycharm比较少。
绿色版压缩包都有300多MB,蓝奏云放不了,放个脚本之家的地址。
https://www.jb51.net/softs/759789.html#downintro2
三、添加环境变量
(一)程序实现(不嫌麻烦可跳)
因为不是嵌入式python,所以在一台新设备上需要添加环境变量,每次都手动添加嫌麻烦,可以程序实现。将下面示例修改后,用Pyinstaller打包成exe,每次只要输入U盘插入的盘符和python版本即可。
这里用的是最简单的os.system()
import os
m=""
while True:
pan=input("输入盘符(大写):")
if len(pan)==1 and 65<=ord(pan[0])<=90:
while m !="3.8" and m!="3.7":
m=input('输入python版本')
if m =="3.8":
path_1=pan+':\\python-3.8.10\\Scripts\\'
path_2=pan+':\\python-3.8.10\\'
path_3=pan+':\\python-3.8.10\\python.exe'
if m =="3.7":
path_1=pan+':\\python-3.7.0\\Scripts\\'
path_2=pan+':\\python-3.7.0\\'
path_3=pan+':\\python-3.7.0\\python.exe'
break
path=path_1 + ";"+ path_2 + ";" + path_3
command =r"setx PYTHONPATH %s /m "%path # /m表示添加的是系统变量
os.system(command)
input() #让控制台停留看一下结果
修改完后进行打包。没有库的用pip安装,用镜像源更快。
python -m pip install Pyinstaller -i https://pypi.tuna.tsinghua.edu.cn/simple
安装完后在想打包的py文件的文件夹中打开cmd。
Pyinstaller -F path.py #换成你的文件名
打包完后exe文件在dist文件夹中,因为采用的是 -F 打包方式,所以除了那个exe文件,其他新生成的文件都可以直接删掉。
看到这个文件说明你已经成功了。
这里推荐加上 /m 和去掉 /m ,两个程序都打包一遍,通常情况下自然是直接添加系统变量更方便,所有用户都能用,但用/m有时会没有权限修改注册表,此时添加用户变量就可以了。
在一台新设备上,运行程序,如果出现下图,则说明添加成功,如果失败,则要手动添加。
(二)手动添加
1、右键此电脑打开属性,左键高级系统设置。
2、左键环境变量,选中path,用户变量,系统变量都可以。
3、左键新建,将之前复制到U盘的三条路径依次复制进去,再用上移将这三条移至最上面(这步一定要做,否则vscode可能搜索不到解释器),然后确定保存。
说明:
一台设备(甚至说是一个盘符)只要添加一次,在有冰点还原的设备上也只用添加一次,VScode就会记住路径(就算没有,此时你查找解释器,选中你U盘中的python.exe也不会报错。),添加成功后就算你把路径再删了也有用,vscode记住的是盘符,你在自己的机上添加过G盘的路径,你在所有U盘插入盘符是G盘的设备都不用再添加路径。
当然这只限于调用python解释器,调用pip没路径肯定还是不行的。
四、报错总结
(一)python无法运行
主要表现为运行时带出多个控制台(黑框),或缺少相关dll或出现类似0xc000007b的报错,如果是这个问题基本上你U盘刚插进去就会弹黑框了。
1、热插拔导致python损坏
U盘热插拔造成的文件丢失,用你安装python的安装包repair,或者选择修复驱动器。如果不行就卸了重装(在你试完全部方法以后)
2、与系统,硬件不适配
电脑本身确实可能缺少相关系统文件,但你在你在新设备上重装所有dll不太现实。一般情况下可通过换python版本实现。
首先是win7版本最多支持3.8.x,其次在可选的python版本中选择较低较稳定的版本,如有的机子3.8的运行不了,3.7可运行;64-bit运行不了,用32-bit可运行。最好装多个版本的python以防某一个出现问题。
(二)VScode缺少动态链接库
打开VScode时显示缺少动态链接库,缺少kernel.dll
1、与系统,硬件不适配
1.1 换版本
还是老话,就算真的缺少dll,重装很麻烦,网上的修复器大多要钱还不一定管用,如 dll修复.site (我不知道为什么全网都在推这个)所以最好的办法是换版本。
kernel.dll是一个很重要的dll,如果真的少了很多程序都会打不开,不只是vscode。通常情况下是缺少这个版本vscode需要的kernel.dll。如你在win7上运行高版本的vscode(只支持win10/11)就会出现这样的问题(此电脑kernel.dll存在),而换低版本就不会报错。你可以用微PE或虚拟机尝试一下。
1.2 手动添加dll
从网上下载相关的dll,放在系统文件夹内。
32位系统放在C:\Windows\System32,64位系统放在C:\Windows\SysWOW64
你可能会发现自己其实有这个dll,报错的原因大概率是64位系统中用的是32位的dll。替换的过程中可能会出现没有权限,或正在运行导致无法替换。可以win+r 输入gpedit.msc在本地策略中给所有用户升级为管理员,或进PE替换,这里不做展开。
放入后win+r 输入xxx.dll 运行,重启电脑
放个kernel.dll的链接,防止被城际网盘,喵网盘,小牛网盘给恶心了。
https://wwt.lanzouq.com/iQPtF1z0xtod 密码:9i80
1.3 其他方法
1、系统文件检查器(SFC)扫描
在打开的命令提示符窗口中,键入sfc /scannow后按回车键启动
2、进行Windows更新,会修复缺失或损坏的dll
对于上述两种方法,一句话,成功率低,不好用,不推荐。
3、dll修复工具
网上一大堆,这里不做推荐,总之就是花钱办事。
(三)VScode点击没反应
点击后没报错,但也不弹出窗口。
1、驱动器损坏
通常这种情况还带有你可以从U盘中拖出文件,但把文件放进U盘时就会报错的问题。此时修复驱动器即可。
说一下这个bug的神奇之处,就是它这个驱动器损坏是针对特定设备的,就是你在自己的设备上可以运行(尽管也显示推荐修复驱动器),但放在其他设备上就运行不了,必须要修复以后才能运行
(四)找不到解释器
打开VScode添加解释器的时候没有路径,且手动寻找之后解释器无效。
1、路径未添加或添加错误
主要看看你的盘符是不是对的,U盘插进不同设备盘符可能不同,注意辨别
2、路径未移至最上面
没什么好说的,把路径移至最上面就行了
3、解释器损坏
参考报错一
(五)运行pip命令报错
1、路径未添加好
出现 ‘pip’ 不是内部或外部命令,也不是可运行的程序或批处理文件。
G:\python3.7.0\Scripts\ 这条路径没添加好,识别不了pip命令
2、有多个pip
无法识别用哪个python的pip
pip命令前加上python -m 如 python -m pip list
3、有多个python
新设备中可能原本就有python,但没装pip库,你运行pip命令会默认选用原设备中的python,导致报错,就算执行成功了也不会将库安装进U盘中的python中。
最好的办法:找到原设备python的环境变量路径,将你的python路径添加进去并移到原python路径的上方。如果环境变量没有生效,重启电脑或在cmd中输入set PATH=C
4、Visual C++ 14.0 is required
老生常谈的问题。
4.1 用Visual tools 安装
从根本上解决问题,缺点是安装慢,并且动辄几个GB的空间,看着有些吓人。
蓝奏云链接:https://wwt.lanzouq.com/iPeLb1z1no6b 密码:h0yi
4.2 下载whl文件离线安装
去pip国外官网下载太慢了,推荐使用清华源,搜索你需要的库+Links比较容易搜到
但版本很多,怎么选?
输入pip debug
这里会显示你安装的python版本所适合的whl版本(用pip install 有线安装会自动选择最佳版本)
下载完whl文件后,在whl所在文件夹打开cmd。运行pip install xxx.whl
如pip install PyQt5-5.15.3-cp36.cp37.cp38.cp39-none-win_amd64.whl
缺点:下载慢,但总比Visual tools快
五、总结
推荐python3.7 32位 + VScode1.63 zip +程序添加路径
提前安装好所有的库,尽量不要在新设备上使用 pip 命令,报错概率很高,无论什么问题,重装永远是最有效的办法。
本文主要启发于在机房编写pyqt程序时要用到designer.exe,每次都要安装pyqt5库很麻烦,便产生了将python装进U盘的想法,踩了很多坑,便写成经验总结。
第一次写文章,有错误请见谅,欢迎批评指正。
标签:
相关文章
最新发布
- 【Python】selenium安装+Microsoft Edge驱动器下载配置流程
- Python 中自动打开网页并点击[自动化脚本],Selenium
- Anaconda基础使用
- 【Python】成功解决 TypeError: ‘<‘ not supported between instances of ‘str’ and ‘int’
- manim边学边做--三维的点和线
- CPython是最常用的Python解释器之一,也是Python官方实现。它是用C语言编写的,旨在提供一个高效且易于使用的Python解释器。
- Anaconda安装配置Jupyter(2024最新版)
- Python中读取Excel最快的几种方法!
- Python某城市美食商家爬虫数据可视化分析和推荐查询系统毕业设计论文开题报告
- 如何使用 Python 批量检测和转换 JSONL 文件编码为 UTF-8
点击排行
- 版本匹配指南:Numpy版本和Python版本的对应关系
- 版本匹配指南:PyTorch版本、torchvision 版本和Python版本的对应关系
- Python 可视化 web 神器:streamlit、Gradio、dash、nicegui;低代码 Python Web 框架:PyWebIO
- 相关性分析——Pearson相关系数+热力图(附data和Python完整代码)
- Anaconda版本和Python版本对应关系(持续更新...)
- Python与PyTorch的版本对应
- Windows上安装 Python 环境并配置环境变量 (超详细教程)
- Python pyinstaller打包exe最完整教程