Python安装;Anaconda+Vscode

@Python

Python安装;Anaconda+Vscode

宅在家里不想写论文,感觉是时候用下Python了。以前在课题组的电脑装过,后来没用也都忘了,这次先在自己的笔记本上重新安装一下。
一开始先是直接在Python官方上下载3.7.4版本的安装包。但装完,在VScode里虚拟环境一直配置不太对。一怒之下还是再去装了Anaconda

Anaconda的下载与安装

清华镜像下载比较快:
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

安装的时候我图方便确定了添加anaconda的环境变量。

Visual Studio Code插件添加

参考 https://www.jianshu.com/p/f10fb1a4cc87

测试

需求,我想生成一些exe格式有UI的小程序。
比如功能有,计算文件大小与转化功能.

首先为了有图形界面,得先安装一些插件包如tkinter
安装的话,直接命令行输入:

conda install -c anaconda tk

(tkinter一些内容参考:https://www.runoob.com/python/python-gui-tkinter.html)
更详细的介绍参考:https://www.cnblogs.com/shwee/p/9427975.html

在具体代码中,一开始我参考网上的代码,使用:

import Tkinter

然后就会显示查不到模块Tkinter
最后发现还是都需要小写:

import tkinter

总之,最后参考教程写了一个有窗口互动的数据大小转化器,代码如下:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# author:Lxl

#import urllib,urllib2
import tkinter as tk
import numpy

# parameters needed:  domain_size: nx,ny,nz
# number of bariable need to be outputted
# time_steps_record


top = tk.Tk()
#设置窗口大小
top.geometry('400x500')
#窗口名
top.title('LES data size calculator')
#geometry parameters for GUI
spl=30 #每一栏间距
sp0=20 #最上一栏与顶部距离
spx=10 #最左边距离
spx2=150 #输入栏左边起始位
sfont=11 #字大小


var1 = tk.StringVar()
i0=0
tk.Label(top, text='nodes in x direction:', font=('Arial', sfont)).place(x=spx, y=sp0)
snx= tk.Entry(top,show=None,font=('Arial',sfont),textvariable=var1) #明文显示
snx.pack() 
snx.place(x=spx2, y=sp0)

i0 += 1
tk.Label(top, text='nodes in y direction:', font=('Arial', sfont)).place(x=spx, y=sp0+i0*spl)
sny= tk.Entry(top,show=None,font=('Arial',sfont)) #明文显示
sny.pack() 
sny.place(x=spx2, y=sp0+i0*spl)

i0 += 1
tk.Label(top, text='nodes in z direction:', font=('Arial', sfont)).place(x=spx, y=sp0+i0*spl)
snz= tk.Entry(top,show=None,font=('Arial',sfont)) #明文显示
snz.pack() 
snz.place(x=spx2, y=sp0+i0*spl)


i0 += 1
tk.Label(top, text='number of variables:', font=('Arial', sfont)).place(x=spx, y=sp0+i0*spl)
snv= tk.Entry(top,show=None,font=('Arial',sfont)) #明文显示
snv.pack() 
snv.place(x=spx2, y=sp0+i0*spl)

i0 += 1
tk.Label(top, text='recorded time steps:', font=('Arial', sfont)).place(x=spx, y=sp0+i0*spl)
snt= tk.Entry(top,show=None,font=('Arial',sfont)) #明文显示
snt.pack() 
snt.place(x=spx2, y=sp0+i0*spl)

tk.Label(top, text='size(mb):', font=('Arial', 11)).place(x=10, y=300)
t1 = tk.Text(top, height=1.5,width=15,font=('Arial', 11))
t1.pack()
t1.place(x=100, y=300)


tk.Label(top, text='size(Gb):', font=('Arial', 11)).place(x=10, y=350)
t2 = tk.Text(top, height=1.5,width=15,font=('Arial', 11))
t2.pack()
t2.place(x=100, y=350)
def exchange():
    
    nx=int(snx.get())
    ny=int(sny.get())
    nz=int(snz.get())
    nv=int(snv.get())
    nt=int(snt.get())


    grids=nx*ny*nz
    data_mb=grids*nv*nt*8/1048576
    data_gb=data_mb/1024
    t1.delete('1.0','end')  #删除文本框所有内容
    t1.insert('insert',"%.2f" % data_mb)
    t2.delete('1.0','end') 
    t2.insert('insert',"%.2f" % data_gb)   


b1 = tk.Button(top, text='start calculate ', width=20,
               height=2, command=exchange)
b1.place(x=150,y=220)


top.mainloop()

运行界面如:
Python安装;Anaconda+Vscode_第1张图片
最后有个问题是生成EXE。
显示pip安装了pyinstaller,然后根据百度教程生成了执行文件。不过问题是因为内附包的问题,程序有两百多兆。
通过安装虚拟环境重新进行pyinstaller打包,但还是没有改善,可能是虚拟环境配置有问题??但暂时先不就这个问题进行研究啦。

你可能感兴趣的:(Python,python)