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、企业百家号需要进行…...

Redis缓存读写策略(三种)数据结构(5+3)
Redis缓存读写策略(三种) Cache Aside Pattern(旁路缓存模式) Cache Aside Pattern 是我们平时使用比较多的一个缓存读写模式,比较适合读请求比较多的场景。 写: 先更新 db然后直接删除 cache 。 读 : …...

计算机竞赛 Yolov安全帽佩戴检测 危险区域进入检测 - 深度学习 opencv
1 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 Yolov安全帽佩戴检测 危险区域进入检测 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分工作量:3分创新点:4分 该项目较为新颖&am…...

使用python向窗口发送鼠标点击命令
今天遇到一个问题。公司让用电脑在网页上看个视频。网页有个判断:一段时间没有鼠标活动,视频就会暂停。于是就想,能否隔一段时间就模拟鼠标点击一下视频暂停,再点一下继续播放。省得它自己停止播放。这样我就可以让网页窗口在后台…...

C++11并发与多线程笔记(6) unique_lock(类模板)
C11并发与多线程笔记(6) unique_lock(类模板) 1、unique_lock取代lock_guard2、unique_lock的第二个参数2.1 std::adopt_lock:2.2 std::try_to_lock:2.3 std::defer_lock: 3、unique_lock的成员…...

计算机网络——OSI与TCP/IP各层的结构与功能,都有哪些协议?
文章目录 一 OSI与TCP/IP各层的结构与功能,都有哪些协议?1.1 应用层1.2 运输层1.3 网络层1.4 数据链路层1.5 物理层1.6 总结一下 二 ⭐TCP 三次握手和四次挥手(面试常客)2.1 TCP 三次握手漫画图解2.2 为什么要三次握手⭐2.3 第2次握手传回了ACK,为什么还要传回SYN&…...

Win7 x86 家庭版SP1 配置 Python 开发环境
1 Win7 下载地址 来源于 MSDN, 我告诉你 - 做一个安静的工具站 ed2k://|file|cn_windows_7_home_basic_with_sp1_x86_dvd_u_676500.iso|2653276160|843E7A78F2126FAC726CF5342710082D|/ 2 Python 版本选择 Python 3.7.9 Python Release Python 3.7.9 | Python.org 3 Pychar…...

从零玩转系列之微信支付实战PC端装修我的订单页面 | 技术创作特训营第一期
一、前言 欢迎来到本期的博客!本篇文章是 PC 端的结尾了,前面经历过九个章节到本章节刚刚好十章节感谢观看我的文章,那么接下来我们将要编写的是我的订单页面. GGBOM! 本篇完毕后将是 UniApp 的篇章感受移动端的诱惑 💗 本次为前端知识点如果不懂前段可以…...

ChatGPT和Claude的能力全测评
创造性思维/语言 提示:“写一首 4 行诗,每行只有 3 个词,描写重庆” ChatGPT写诗👇 Claude写诗👇 仁者见仁,您怎么看谁更强? 提示: "如果你随机选择这个问题的答案,…...

ffmpeg简介
1.什么是ffmpeg ffmpeg即使一款音视频编解码工具,同时也是一组音视频编解码开发套件,作为编解码开发套件,它为开发者提供了丰富的音视频处理的调用接口。 ffmpeg提供了多种媒体格式的封装和解封装,包括多种音视频编码、多种协议…...

AI绘画 stable diffusion Midjourney 官方GPT文档 AIGC百科全书资料收集
教学AI绘画 AIGC工具 SD教程 ###Redis面试题 单机Redis的qps大概是多少? 项目中用到了哪些Redis的数据类型?为什么这么用? Redis的key到了过期时间就被删除了吗?简述下Redis的过期策略? Redis有哪几种内存淘汰策略…...