Python开发环境(Visual Studio Code、Anaconda、PyInstaller、Enigma Virtual Box)

news2024/9/26 14:24:06

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环境

  1. 官网下载Anaconda
    anaconda官网
  2. 安装Anaconda
  3. 设置系统环境变量
    按照实际安装路径新建填写红框环境变量
    在这里插入图片描述
  4. 验证环境是否正常运行
    WIN+R输入cmd
    在这里插入图片描述

conda --version
python --version
pip --version
显示版本信息即为正常
在这里插入图片描述

Anaconda命令

  1. 查看版本:
  • conda --version
  • conda -V
  1. 检查更新conda:
  • conda update conda
  1. 查看已安装的包:
  • conda list
  1. 查看已创建的虚拟环境:
  • conda env list
  • conda info -e
  • conda env -h(查看环境管理命令帮助)
  1. 创建虚拟环境(Python):
  • conda create -n your_env_name python=x.x
    • 创建虚拟环境名为your_env_name。
    • 创建python版本为x.x。
    • your_env_name文件可以在Anaconda安装目录envs文件下找到。
  1. 激活或者切换虚拟环境:
  • activate your_env_name:Windows系统环境
  • source activate your_env_nam: Linux系统环境
  1. 关闭虚拟环境(即从当前环境退出返回使用PATH环境中的默认python版本):
  • deactivate env_name 或者activate root切回root环境
  • source deactivate :Linux系统环境
  1. 删除虚拟环境:
  • conda remove -n your_env_name --all
  1. 对虚拟环境中安装额外的包:
  • conda install -n your_env_name [package]
    • conda install -n your_env_name [package==version]
  1. 删除环境钟的某个包
  • conda remove --name $your_env_name $package_name
  1. 设置国内镜像:
  • 添加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
  1. 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 平台上运行。

  1. 安装
    pip install pyinstaller
  2. pyinstaller参数详解
参数描述
-F,-onefile产生单个的可执行文件
-D,–onedir产生一个目录(包含多个文件)作为可执行程序
-a,–ascii不包含 Unicode 字符集支持
-d,–debugdebug 版本的可执行文件
-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 的名字
  1. 打包成单独可执行文件
    1. cd到项目路径
    2. pyinstaller -F xxx.py (xxx.py为项目主程序)
      生成build和dist目录,以及xxx.spec文件
      dist目录下的xxx.exe即为可执行文件
      这种方式打包的exe可执行文件有是会因缺少动态库无法运行
  2. 打包成多个文件可执行文件(而不是只有一个可执行文件,运行的时候每个文件都不能少,特点:文件小,运行速度快。缺点:文件多)
    1. cd到项目路径
    2. pyinstaller -D xxx.py (xxx.py为项目主程序)
  3. 打包32位和64位exe
    有时需要打包32位或64位的exe,打包的exe是多少位的取决于python的环境版本是多少位的,python版本是32位打包的exe是32位,同样64位的版本打包的exe是64位的。
    查看当前Python版本是32位还是64位
    在这里插入图片描述
  4. 打包的exe文件太大的问题
  • pyinstaller会把python环境中的很多项目没有用到的包都一起打包进去,这样就增大了exe的大小了
  • 解决方法:使用anaconda创建一个单独干净的虚拟环境,然后在这个单独环境里安装需要用到的包,然后再对项目进行打包。

Enigma Virtual Box

使用pyinstaller打包exe如下弊端:
1.pyinstaller -D:生成一个文件夹,里面是多文件模式,启动快。
2.pyinstaller -F:仅仅生成一个文件,不暴露其他信息,启动较慢。
若想既要仅生成一个文件又要运行速度快,可以通过如下方法解决:

  • 先用pyinstaller -D命令生成多文件可执行文件。
  • 再用Enigma Virtual Box打包成一个可执行文件。
  1. 安装
    下载Enigma Virtual Box英文网站
    下载Enigma Virtual Box中文网站
    The Enigma Protector,32-bit version:专业的软件授权保护系统
    The Enigma Protector,64-bit version:专业的软件授权保护系统
    Enigma Virtual Box: 免费
    在这里插入图片描述
  2. 打包exe文件
    1. cd到项目路径
    2. pyinstaller -D -w xxx.py (xxx.py为项目主程序)
    3. 使用Enigma Virtual Box打包exe文件
      注:在打包之前可以先运行测试下pyinstaller生成的exe是否可以正常运行,如缺少dll库文件之类的问题,可以找到缺少的文件拷贝到pyinstaller生成的目录下,测试运行正常了在用Enigma Virtual Box打包最终的exe文件。
      在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/907290.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Const的区别 学习笔记

C程序设计之const八大用法_哔哩哔哩_bilibili const优先修饰const左边,若左边没有东西,则修饰右边的东西 前两个a,b不是指针由于修饰的是int,是类型,所以a和b的值不能改变 c的类型的指针,const修饰的是int&#xff0…

Apinto 网关进阶教程,插件开发入门指南

Apinto 是基于Go语言,由 Eolink 自主研发的一款高性能、可扩展、易维护的云原生 API 网关。Apinto 能够帮助用户简单、快速、低成本、低风险地实现:系统微服务化、系统集成、向合作伙伴、开发者开放功能和数据。 通过 Apinto,企业能够专注于…

天锐绿盾加密软件——「文件数据防泄密系统」

文件加密功能 采用透明加解密技术, 企业内部文件自动加密,内部正常使用,不改变使用习惯。加密后的文件未经许可,私自外发拷贝到公司以外,都将显示为乱码无法使用,从源头上保障核心数据安全。 产品跨平台支持…

Vulhub之sick0s篇

靶场 靶机wp:【网络安全】sick0s 靶场实践之getshell - 知乎 靶机地址:https://download.vulnhub.com/sickos/sick0s1.1.7z 环境搭建 将虚拟机网络配置为nat与kali同一网络模式 kali扫描同一网段内存活的ip 访问目标端口web服务 3128端口是squid代理…

Python Pandas 处理Excel数据 制图

目录 1、饼状图 2、条形统计图 1、饼状图 import pandas as pd import matplotlib.pyplot as plt import numpy as np #from matplotlib.ticker import MaxNLocator # 解决中文乱码 plt.rcParams[font.sans-serif][SimHei] plt.rcParams[font.sans-serif]Microsoft YaHei …

Android事件分发机制被我翻烂了

作者:积木zz 这次说下Android中的事件分发机制 从开始点击屏幕开始,就会产生从Activity开始到decorview一直到最里层的view一连串事件传递。每一层view或者viewgroup都会首先调用它的dispatchTouchEvent方法,然后判断是否就在当前一层消费掉事…

软件设计风格(干货)-架构师之路(九)

一、软件架构风格概念 Architecture架构,体系结构 软件体系结构风格是 描述某一特定应用领域中 系统组织方式 的惯用模式。架构风格定义一个系统家族,即 一个架构的定义、一个词汇表和一组约束。词汇表包含 一些构建和连接类型,而一组约束 …

监控 FTP 服务器

文件传输协议 (FTP) 用于在 TCP/IP 网络中的服务器和客户端之间传输文件,它是一种标准协议,广泛用于在各个垂直行业的组织之间从集中位置存储和分发数据。FTP协议的其他一些安全版本如下: SSH 文件传输协议 &#xff…

SpringBoot-1-Spring Boot实战:快速搭建你的第一个应用,以及了解原理

SpringBoot-1-Spring Boot实战:快速搭建你的第一个应用,以及了解原理 今日内容 SpringBootWeb入门 前言 我们在之前介绍Spring的时候,已经说过Spring官方(Spring官方)提供很多开源项目,点击projects,看到spring家族…

中国CV军团,危矣?!

大数据产业创新服务媒体 ——聚焦数据 改变商业 近期,云从科技发布了2023年半年报。应该说,云从科技交出的成绩单很不好。事实上,商汤、旷视等CV厂商的情况也好不到哪去。云从科技的处境有一定的代表性,因此,我们将通…

Python“牵手”拼多多商品评论数据采集方法,拼多多API申请步骤说明

拼多多平台API接口是为开发电商类应用程序而设计的一套完整的、跨浏览器、跨平台的接口规范,拼多多API接口是指通过编程的方式,让开发者能够通过HTTP协议直接访问拼多多平台的数据,包括商品信息、店铺信息、物流信息,评论数据等&a…

国内常见的几款可视化Web组态软件

组态软件是一种用于控制和监控各种设备的软件,也是指在自动控制系统监控层一级的软件平台和开发环境。这类软件实际上也是一种通过灵活的组态方式,为用户提供快速构建工业自动控制系统监控功能的、通用层次的软件工具。通常用于工业控制,自动…

机器学习分类,损失函数中为什么要用Log,机器学习的应用

目录 损失函数中为什么要用Log 为什么对数可以将乘法转化为加法? 机器学习(Machine Learning) 机器学习的分类 监督学习 无监督学习 强化学习 机器学习的应用 应用举例:猫狗分类 1. 现实问题抽象为数学问题 2. 数据准备…

Electron 报gpu_process_host.cc(951)] GPU process launch faile错误

解决方法,在入口js文件中,添加如下代码: app.commandLine.appendSwitch(no-sandbox)

Vulhub之Shiro篇

CVE-2010-3863--认证绕过 1、启动靶机 在终端里进入事先进入准备好的vulhub靶场目录下 cd /vulhub-master/shiro/CVE-2010-3863 sudo docker-compose up -d 2、直接请求管理页面/admin,无法访问,将会被重定向到登录页面 3、构造恶意请求/./admin&…

Nvidia Jetson 编解码开发(5)Jetpack 5.x版本Multimedia API 硬件编码开发

1.前言 基于之前的开发程序 Nvidia Jetson 编解码开发(2)Jetpack 4.x版本Multimedia API 硬件编码开发--集成encode模块_free-xx的博客-CSDN博客 开发版本是基于JetPack 4.x版本 现在需要迁移到JetPack 5.x版本(新发布的Orin/Orin NX/Orin Nano都是JetPack 5.x版本) 尝…

Arch Linux 开发人员近日发布了 Archinstall 2.6

导读经过几个月的努力,Arch Linux 开发人员近日发布了 Archinstall 2.6,作为 Arch Linux 官方文本模式安装程序的最新稳定版本,它带来了几个新功能和许多改进。 Archinstall 2.6 支持 Hyperland 自定义动态平铺 Wayland 窗口管理器&#xff0…

Python在文件中对字母、单词频度统计

读入给定的文本文件“hamlet.txt”,编写两个函数分别实现: 1) 统计所有字母的出现频度,依据频度从高到低,显示前5个字母及其频度,同时把结果写入文件“hamlet_字母频度.txt”。 2) 统计所有单词的出现频度,依据频度从高到低,显示…

数据结构作业——哈夫曼树

/*【基本要求】 (1) 从文件中读出一篇英文文章,包含字母和空格等字符。 (2) 统计各个字符出现的频度。 (3) 根据出现的频度,为每个出现的字符建立一个哈夫曼编码,并输出。…

Open-Cascade 编译全过程-以及注意事项

1.从Github上下载 该源码库; https://github.com/Open-Cascade-SAS/OCCT 2.再从下面网站,下载需要的地方库文件: 从这个地址下载需要的文件; 3rd party Components | Open CASCADE Technology 3.使用cmak gui进行构建编译; 关键地方以及坑所在得点: 如果其编…