打造便携式Python环境——把Python装进U盘

有时我们需要在一台新设备上进行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,兼容性更好。

959798790f774bdc88307b3836b83b5e.png

2、选择自定义安装,可以选择添加路径看一下格式。

08c4f70a9be94960a3f9e1e638096d3a.png

3、这步什么都不用动,直接Next

3442dec113084e45b456f40f8310f4cd.png

4、将安装位置选择在U盘中一个提前建好的文件夹,推荐写明python版本。

9bf22fcfe30e4794800d27cf353314f5.png

5、点击Install安装

c5a6b6f4d03d44c2a1fdea4376539f32.png1bfab89236334875a568794054a0edc3.png

然后我们打开此电脑->属性->高级系统设置->环境变量->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版。

10ee69168c1844fe8d06accd60814b91.png

vscode官方网址:https://code.visualstudio.com/

由于官网上最新的VScode已经不支持win7,如果你的电脑是win7,可以下载老版本,最高不超过1.7.2。我下面放了一个1.6.7版本的,需要自取。

蓝奏云链接:https://wwt.lanzouq.com/ijSkZ1vy80di       密码:63d6

解压在U盘里后,在同级文件夹中创建一个名叫data的文件夹,这个文件夹将会储存你安装的插件和用户数据。

ac4ea53e38ad489abf1b0f4d5aba2e28.png

下面介绍几个插件。

1、中文简体

9c6d919fe27a4343a67c76948ad78041.png

这自然是最重要的,在插件商城安装后,在vscode上方的输入框内输入

>Configure Display Language

9e195afda2434ff2a4315bbece4eadf3.png

后选择中文-CN即可,不过你安装完之后右下角就会有弹窗提示你是否更换语言,restart即可。

说明:vscode第一次打开时自动读取中文包时,有可能翻译不全,此时重新手动选择语言即可。

2、Python插件

99948228201f4dd69c0d2883f39e8060.png

你没插件编个啥?不用选一些杂七杂八的,用Microsoft的就行了,里面包含Python,Pylance,Python Debugger三个包。

下载完成后在文件中创建New File,选择python,然后在右下角选择不同版本的python解释器,如果你添加的是系统变量,后面会带一个system,找不到解释器的话见报错总结

3、z-reader / any-reader

da377c8dfe714cc185c8f4d7539ed260.png

摸鱼插件,可以在vscode中看小说,支持txt和equb,是不是很炸裂?它支持在代码层面上改页面和功能。点击左侧插件图标,再点击弹出的目录框右上角的“···”,可以打开放书的本地文件夹,将txt文件或equb文件直接拖进去(不要放进文件夹,再将文件夹拖进去)。在点击”本地“即可读取(会自动排序),代码编累了可以看一会小说(bushi

作者还有一个升级版any-reader,但由于一般用不到更多功能,所以推荐使用轻量版的z-reader

4、Windows Opacity

82c486f7c5344eeeaca049d6e504094e.png

摸鱼插件,可以让你的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文件,其他新生成的文件都可以直接删掉。

6003f57dacce46ba9c66b8a846af5eb8.png

546c8d8129e340928d2f5ddb9ff0441b.png

看到这个文件说明你已经成功了。

这里推荐加上 /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盘的想法,踩了很多坑,便写成经验总结。

第一次写文章,有错误请见谅,欢迎批评指正。

  • 18
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值