python做一个软件的全过程,如何用python做一个软件

本篇文章给大家谈谈python做一个软件的全过程,以及如何用python做一个软件,希望对各位有所帮助,不要忘了收藏本站喔。

大家好,小编来为大家解答以下问题,python简单易懂的小程序,如何制作python小软件,现在让我们一起来看看吧!

本篇文章给大家谈谈用python写的好玩的小程序,以及如何用python做小软件,希望对各位有所帮助,不要忘了收藏本站喔。

在前面:Python制作小软件——3. 利用PyQt5实现界面中的功能,介绍完了Python中如何呼唤出我们的界面后

最后最重要的就是将我们做好的东西,全部打包成一个.exe可执行文件python打印皮卡丘代码python的基本知识点总结。这里我们使用的是PyInstaller进行封装java与python哪个要好。(查找过许多方法,但是最后还是选择了相对而言最便捷的方法进行封装)


安装PyInstaller

我们还是使用pip进行安装:

pip install PyInstaller

安装完成后,直接打开命令行,输入pyinstaller,如果显示如下界面,说明安装成功。

然后就可以进行我们小程序的封装了。


初次尝试封装

首先将我们.ui文件转化来的.py文件储存在Python的默认路径,然后打开命令行,cd到我们的server.py文件所在的路径,接着再输入如下命令即可完成.exe可执行文件的封装。

pyinstaller -F -w server.py

这里解释一下-F-w的含义:

  • -F:将所有内容全部打包成一个exe可执行文件,而不会有其它的一些奇奇怪怪的小依赖文件。
  • -w:运行生成的exe文件时,不会弹出命令行窗口,而是直接弹出我们做的GUI。

运行完之后,桌面上就会弹出一个dist文件夹,然后里面就是一个exe文件了。这时双击。。。

![这里写图片描述](https://img-blog.csdn.net/20180807181908993?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTkyOTUyNA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)

可怕的事情发生了!发现报错!

然后费劲心思上网搜索原因是因为少了一些依赖,解决方法很简单,只需要找到我们PyQt5库的安装路径,在里面找到plugins\platforms文件夹就好了,然后复制到生成的exe可执行文件旁边就能打开了。

但问题来了:我的PyQt5安装路径是:C:\Users\Kanny\Anaconda3\Lib\site-packages\PyQt5里面根本没有所说的plugins文件夹,这就很尴尬了。(有评论小伙伴说C:\Users\Kanny\Anaconda3\Lib\site-packages\PyQt5\Qt\plugins中找到了相应的文件,可直接进行安装)

但是不方,我在C:\Users\Kanny\Anaconda3\Lib\site-packages\pyqt5-tools里面找到了platforms,然后将它像下图所示,安排的明明白白的(简直被我的机智所吓到):

![这里写图片描述](https://img-blog.csdn.net/20180807182641890?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTkyOTUyNA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)

双击运行,发现:还!是!报!错!

此时万念俱灭的我决定,再尝试搞出一个有plugins\platforms的PyQt5库出来,这时候就需要我们重新安装下PyQt5,我装的版本是PyQt5-5.6-gpl-Py3.5-Qt5.6.0-x64-2,网上搜的到,50多m,然后双击安装它,使用默认路径,会自动覆盖原本的PyQt5(注意将原本的一切与PyQt5有关的程序都关掉再进行安装,包括Python)。下面放上安装包:

PyQt5安装包:链接:https://pan.baidu.com/s/1L056oXu6Jl_vAj23rSVW_Q 密码:4i21


再次尝试封装

安装完新的PyQt5就开始跃跃欲试了,首先再看看我们PyQt5目录下有什么了:

发现出现了plugins文件夹里面有platforms

然后重新封装一次exe文件,再将platforms文件夹完整的拷贝到我们的exe文件旁边,然后双击:
请添加图片描述

大功告成!

但是旁边的文件大小211m是怎么回事?说好的软件呢?

  • 12
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个使用Python和PyTorch库训练全连接神经网络的示例代码: ``` import torch import torch.nn as nn import torch.optim as optim # 定义全连接神经网络模型 class Net(nn.Module): def __init__(self): super(Net, self).__init__() self.fc1 = nn.Linear(784, 256) self.fc2 = nn.Linear(256, 128) self.fc3 = nn.Linear(128, 10) def forward(self, x): x = x.view(-1, 784) x = torch.relu(self.fc1(x)) x = torch.relu(self.fc2(x)) x = self.fc3(x) return x # 加载MNIST数据集 train_data = torchvision.datasets.MNIST(root='./data', train=True, download=True, transform=torchvision.transforms.ToTensor()) test_data = torchvision.datasets.MNIST(root='./data', train=False, download=True, transform=torchvision.transforms.ToTensor()) # 设置训练参数 batch_size = 64 num_epochs = 10 learning_rate = 0.001 # 初始化模型、损失函数和优化器 model = Net() criterion = nn.CrossEntropyLoss() optimizer = optim.Adam(model.parameters(), lr=learning_rate) # 开始训练 for epoch in range(num_epochs): for i, (images, labels) in enumerate(train_loader): # 向前传递 outputs = model(images) loss = criterion(outputs, labels) # 反向传播和优化 optimizer.zero_grad() loss.backward() optimizer.step() # 输出训练进度 if (i+1) % 100 == 0: print ('Epoch [{}/{}], Step [{}/{}], Loss: {:.4f}'.format(epoch+1, num_epochs, i+1, len(train_loader), loss.item())) # 在测试集上进行测试 with torch.no_grad(): correct = 0 total = 0 for images, labels in test_loader: outputs = model(images) _, predicted = torch.max(outputs.data, 1) total += labels.size(0) correct += (predicted == labels).sum().item() print('Accuracy of the network on the 10000 test images: {} %'.format(100 * correct / total)) ``` 该代码使用PyTorch库定义了一个包含3个全连接层的神经网络模型,并使用MNIST数据集进行训练和测试。在训练过程中,使用交叉熵损失函数和Adam优化器来更新模型权重。在测试过程中,使用模型输出的类别标签与真实标签进行比较以计算准确率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值