您的位置:首页 > 编程语言 > Python开发

Python安装;Anaconda+Vscode

2020-03-05 13:38 573 查看

@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()

运行界面如:

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

  • 点赞
  • 收藏
  • 分享
  • 文章举报
仓又 发布了2 篇原创文章 · 获赞 0 · 访问量 82 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: