Python开发环境(Visual Studio Code、Anaconda、PyInstaller、Enigma Virtual Box)
Python开发环境 [Anaconda、PyInstaller、Enigma Virtual Box]
- Anaconda
- Anaconda安装搭建Python环境
- Anaconda命令
- Visual Studio Code
- Visual Studio Code中Python设置
- Visual Studio Code中使用Qt Designer
- Python打包发布.exe可执行文件
- Pyinstaller
- Enigma Virtual Box
Anaconda
Anaconda安装搭建Python环境
- 官网下载Anaconda
anaconda官网 - 安装Anaconda
- 设置系统环境变量
按照实际安装路径新建填写红框环境变量

- 验证环境是否正常运行
WIN+R输入cmd

conda --version
python --version
pip --version
显示版本信息即为正常

Anaconda命令
- 查看版本:
- conda --version
- conda -V
- 检查更新conda:
- conda update conda
- 查看已安装的包:
- conda list
- 查看已创建的虚拟环境:
- conda env list
- conda info -e
- conda env -h(查看环境管理命令帮助)
- 创建虚拟环境(Python):
- conda create -n your_env_name python=x.x
- 创建虚拟环境名为your_env_name。
- 创建python版本为x.x。
- your_env_name文件可以在Anaconda安装目录envs文件下找到。
- 激活或者切换虚拟环境:
- activate your_env_name:Windows系统环境
- source activate your_env_nam: Linux系统环境
- 关闭虚拟环境(即从当前环境退出返回使用PATH环境中的默认python版本):
- deactivate env_name 或者activate root切回root环境
- source deactivate :Linux系统环境
- 删除虚拟环境:
- conda remove -n your_env_name --all
- 对虚拟环境中安装额外的包:
- conda install -n your_env_name [package]
-
- conda install -n your_env_name [package==version]
- 删除环境钟的某个包
- conda remove --name $your_env_name $package_name
- 设置国内镜像:
- 添加Anaconda的TUNA镜像:
- conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- 恢复默认镜像:
- conda config --remove-key channels
- 设置搜索时显示通道地址:
- conda config --set show_channel_urls yes
- conda升级后释放空间:
在升级完成之后,我们可以使用命令来清理一些无用的包以释放一些空间:
- conda clean -p删除没有用的包
- conda clean -t删除保存下来的压缩文件(.tar)
Visual Studio Code
Visual Studio Code中Python设置
Shift+Ctrl+P顶部输入框输入settings.json选择打开工作区设置

安装实际安装路径设置python相关配置即可
.vscode/settings.json
{"python.pythonPath": "C:\\Users\\syl\\anaconda3\\python.exe","python.autoComplete.extraPaths": ["C:\\Users\\syl\\anaconda3\\Scripts","C:\\Users\\syl\\anaconda3\\Lib\\site-packages"],"python.analysis.extraPaths": ["C:\\Users\\syl\\anaconda3\\Scripts","C:\\Users\\syl\\anaconda3\\Lib\\site-packages"]
}
Visual Studio Code中使用Qt Designer
Visual Studio Code扩展商店搜索“PYQT Integration”找到并安装之后就可以使用Qt Designer设计UI界面了

资源管理器右键选择:
PYQT:New Form创建以.ui为后缀的Qt Designer界面文件:
PYQT:Preview预览窗口界面效果
PYQT:Edit In Designer在Qt Designer中编辑已创建的.ui文件
PYQT:Comple Form编译已创建的.ui文件(会生成Ui_xxx.py文件以便导入到python代码使用)


Python打包发布.exe可执行文件
使用python编写的代码最终需要打包成.exe可执行文件才能发布供普通用户使用。
Pyinstaller
使用 PyInstaller 将Python程序生成可直接运行的程序,这个程序就可以被分发到对应的 Windows 或 Mac OS X 平台上运行。
- 安装
pip install pyinstaller - pyinstaller参数详解
| 参数 | 描述 |
|---|---|
| -F,-onefile | 产生单个的可执行文件 |
| -D,–onedir | 产生一个目录(包含多个文件)作为可执行程序 |
| -a,–ascii | 不包含 Unicode 字符集支持 |
| -d,–debug | debug 版本的可执行文件 |
| -w,–windowed,–noconsolc | 指定程序运行时不显示命令行窗口(仅对 Windows 有效) |
| -c,–nowindowed,–console | 指定使用命令行窗口运行程序(仅对 Windows 有效) |
| -o DIR,–out=DIR | 指定 spec 文件的生成目录。如果没有指定,则默认使用当前目录来生成 spec 文件 |
| -p DIR,–path=DIR | 设置 Python 导入模块的路径(和设置 PYTHONPATH 环境变量的作用相似)。也可使用路径分隔符(Windows 使用分号,Linux 使用冒号)来分隔多个路径 |
| -n NAME,–name=NAME | 指定项目(产生的 spec)名字。如果省略该选项,那么第一个脚本的主文件名将作为 spec 的名字 |
- 打包成单独可执行文件
- cd到项目路径
- pyinstaller -F xxx.py (xxx.py为项目主程序)
生成build和dist目录,以及xxx.spec文件
dist目录下的xxx.exe即为可执行文件
这种方式打包的exe可执行文件有是会因缺少动态库无法运行
- 打包成多个文件可执行文件(而不是只有一个可执行文件,运行的时候每个文件都不能少,特点:文件小,运行速度快。缺点:文件多)
- cd到项目路径
- pyinstaller -D xxx.py (xxx.py为项目主程序)
- 打包32位和64位exe
有时需要打包32位或64位的exe,打包的exe是多少位的取决于python的环境版本是多少位的,python版本是32位打包的exe是32位,同样64位的版本打包的exe是64位的。
查看当前Python版本是32位还是64位

- 打包的exe文件太大的问题
- pyinstaller会把python环境中的很多项目没有用到的包都一起打包进去,这样就增大了exe的大小了
- 解决方法:使用anaconda创建一个单独干净的虚拟环境,然后在这个单独环境里安装需要用到的包,然后再对项目进行打包。
Enigma Virtual Box
使用pyinstaller打包exe如下弊端:
1.pyinstaller -D:生成一个文件夹,里面是多文件模式,启动快。
2.pyinstaller -F:仅仅生成一个文件,不暴露其他信息,启动较慢。
若想既要仅生成一个文件又要运行速度快,可以通过如下方法解决:
- 先用pyinstaller -D命令生成多文件可执行文件。
- 再用Enigma Virtual Box打包成一个可执行文件。
- 安装
下载Enigma Virtual Box英文网站
下载Enigma Virtual Box中文网站
The Enigma Protector,32-bit version:专业的软件授权保护系统
The Enigma Protector,64-bit version:专业的软件授权保护系统
Enigma Virtual Box: 免费

- 打包exe文件
- cd到项目路径
- pyinstaller -D -w xxx.py (xxx.py为项目主程序)
- 使用Enigma Virtual Box打包exe文件
注:在打包之前可以先运行测试下pyinstaller生成的exe是否可以正常运行,如缺少dll库文件之类的问题,可以找到缺少的文件拷贝到pyinstaller生成的目录下,测试运行正常了在用Enigma Virtual Box打包最终的exe文件。

相关文章:
Python开发环境(Visual Studio Code、Anaconda、PyInstaller、Enigma Virtual Box)
Python开发环境 [Anaconda、PyInstaller、Enigma Virtual Box] AnacondaAnaconda安装搭建Python环境Anaconda命令 Visual Studio CodeVisual Studio Code中Python设置Visual Studio Code中使用Qt Designer Python打包发布.exe可执行文件PyinstallerEnigma Virtual Box Anaconda…...
Unreal Engine 测试总结
Android 项目打包应选择哪种纹理格式?打包模式区别? 根据官网文档介绍,建议使用 ETC2:所有OpenGL 3.x 类型的设备都支持,并且支持alpha压缩 打包模式包括:内部测试阶段的开发模式,对外发布的发行…...
Air780EG —— 合宙4G定位解决方案
定位模式: 外部单片机控制模式(常见于AT固件客户): 开机 -> 搜星 -> 定位成功 -> 上报 -> 关机 780E自行控制模式(常见于二次开发客户,AT用户也可以使用): 开机 -> 搜星 -> 定位成功 -> 模块休眠,关闭GP…...
【算法刷题之数组篇(2)】
目录 1.leetcode-35. 搜索插入位置(简单)2.leetcode-74. 搜索二维矩阵(中等)3.leetcode-73. 矩阵置零(中等)4.leetcode-56. 合并区间(中等)5.leetcode-54. 螺旋矩阵(中等…...
chromedriver.exe 的所有版本下载地址
Chrome for Testing availability 上面的网址是V115 v116.... 以上的。 CNPM Binaries Mirror 上面这个是V115版本以下的。 这个文章没有任何实际价值,记录的原因是因为突然发现过去的py无法运行,原因是chrome浏览器偷偷升级到V115,于是找…...
C++ 网络编程项目fastDFS分布式文件系统(四)-fastCGI项目相关技术以及linux搜狗输入法相关问题。
目录 1. Nginx作为web服务器处理请求 2. http协议复习 Get方式提交数据 Post方式提交数据 3. fastCGI 3.1 CGI 3.2 fastCGI 3.3 fastCGI和spawn-fcgi安装 1. 安装fastCGI 2. 安装spawn-fcgi 3.4 nginx && fastcgi 4其他知识点 1. fastCGI环境变量 - fas…...
【HarmonyOS】服务卡片 API6 JSUI跳转不同页面
【引言】 “JS卡片支持为组件设置action,包括router事件和message事件,其中router事件用于应用跳。若设置router事件,则action属性值为"router";abilityName为卡片提供方应用的跳转目标Ability名;params中的…...
【linux】debian10安装vim
debian10.0上用apt vim安装vim提示依赖的版本冲突。后来发现是软件源没有添加更新源buster-updates。 以下是问答。 问:debian10怎么安装vim? 答: 在 Debian 10 系统上安装 Vim 的方法很简单,主要有以下两种: 1. 使用 apt 命令安装 bash sudo apt u…...
文件同步工具rsync
文章目录 作用特性安装命令服务端启动增加安全认证及免密登录 实时推送源服务器配置结合inotify实现实时推送 参数详解 学些过程中遇到的问题 作用 rsync是linux系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或…...
【嵌入式开发 Linux 常用命令系列 12 -- linux 下 log 输出重定向 详细介绍 】
文章目录 Linux 输出重定向使用背景Linux 重定向使用介绍 上篇文章:嵌入式开发 Linux 常用命令系列 11 – linux 下 任务与CPU绑定命令 taskset 详细介绍 Linux 输出重定向使用背景 在Linux中,输入和输出重定向是非常常见的操作,它们可以用…...
gin中关于参数注入问题
关于参数注入的问题 如果在开发中一旦发小参数没有按照既定的要求注入到结构体的话,这个时候就一定要看请求方式什么?如果是post请求、 前端—post—json{id:1,pageSize:10,page:1}———————————- 参数注入方法:ShouldBindJSON p…...
记录首次面试2023-08-18
人生第一次面试,大概一个小时左右。没有问我C的,上来一个数据库事务,虽然没有复习,但是还是能够记住一些,主要问的一些事务的隔离级别,以及都有什么作用,我是举例回答的,客户端A和客…...
【Apollo学习笔记】——规划模块TASK之LANE_CHANGE_DECIDER
文章目录 前言LANE_CHANGE_DECIDER功能简介LANE_CHANGE_DECIDER相关配置LANE_CHANGE_DECIDER总体流程LANE_CHANGE_DECIDER相关子函数PrioritizeChangeLaneUpdateStatusIsClearToChangeLaneHysteresisFilter 参考 前言 在Apollo星火计划学习笔记——Apollo路径规划算法原理与实…...
rabbitmq的死信队列
目录 成为死信的条件 消息TTL过期 队列达到最大长度 消息被拒 延迟队列 延迟队列使用场景 消息设置 TTL 队列设置 TTL 两者区别 producer 将消息投递到 broker 或者直接到 queue 里了, consumer 从 queue 取出消息 进行消费,但某些时候由…...
利用网络对拷工具进行系统安装与恢复
各学校计算机机房经常批量安装操作系统和应用软件。实现对批量计算机的安 装,应用较多的是使用 Symantec 的 ghost 企业版。但笔者采用的是网络还原精灵 (Net Recovery Genius)软件附带的网络对拷 Ncp.com 工具,利用它能够轻松实…...
opencv-python使用鼠标点击图片显示该点坐标和像素值IPM逆透视变换车道线二值化处理
OpenCV的鼠标操作 实现获取像素点的功能主要基于OpenCV的内置函数cv2.setMouseCallback(),即鼠标事件回调 setMouseCallback(winname, onMouse,userdata0) winname: 接收鼠标事件的窗口名称 onMouse: 处理鼠标事件的回调函数指针 userdata: 传给回调函数的用户数据…...
AIGC绘画:kaggle部署stable diffusion项目绘画
文章目录 kaggle介绍项目部署edit my copy链接显示 结果展示 kaggle介绍 Kaggle成立于2010年,是一个进行数据发掘和预测竞赛的在线平台。从公司的角度来讲,可以提供一些数据,进而提出一个实际需要解决的问题;从参赛者的角度来讲&…...
微服务概述-7
Shiro 框架 Shiro 是一个用于 Java 应用程序的安全框架。它提供了身份验证、授权、加密和会话管理等功能,可以帮助开发人员构建安全可靠的应用程序。 Java 中针对权限管理常见的有 2 个著名的框架:spring security 和 shiro shiro 基本概念 credentia…...
十二、Linux如何修改文件/文件夹所属用户or用户组?chown命令
目录 1、基础语法 2、修改目标用户: 3、修改用户组: 4、使用-R命令,并同时修改用户/用户组 1、基础语法 chown [-R] [目标用户][:][目标用户组] 被修改文件/文件夹 (1)选项-R:同chmod,对文…...
企业百家号蓝V认证后,百度营销基木鱼落地页如何嵌入百家号中
首先搭建百度营销基木鱼落地页 在我们的百度营销后台,点击基木鱼跳转至百度营销基木鱼页面,在我的站点位置,可以创建H5站点,PC站点等,创建完成后可以点击复制基木鱼落地页的链接。 注意事项 1、企业百家号需要进行…...
Linux 文件类型,目录与路径,文件与目录管理
文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…...
Day131 | 灵神 | 回溯算法 | 子集型 子集
Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣(LeetCode) 思路: 笔者写过很多次这道题了,不想写题解了,大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...
CentOS下的分布式内存计算Spark环境部署
一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架,相比 MapReduce 具有以下核心优势: 内存计算:数据可常驻内存,迭代计算性能提升 10-100 倍(文档段落:3-79…...
Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务
通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...
视频字幕质量评估的大规模细粒度基准
大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...
Python爬虫(一):爬虫伪装
一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...
Redis数据倾斜问题解决
Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...
AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...
Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)
目录 一、👋🏻前言 二、😈sinx波动的基本原理 三、😈波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、🌊波动优化…...
GitHub 趋势日报 (2025年06月06日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...
