好用的python开发工具(开发Python用哪些工具好)
本文目录
开发Python用哪些工具好
刚学python时,面对简陋的官方版idle和一大堆开发平台和发行版,不知道究竟如何下手。在进行多方尝试后,我最后的选择是Anaconda + Pycharm,用anaconda集成的ipython做工作台,做一些分析和小段程序调试的工作,用Pycharm写相应脚本和程序包的开发。这两个工具都是跨平台的,也都有免费版本。具体来说Anaconda集成了几乎所有我需要的包库,包含了我整个工作流程,做数据分析的pandas\scipy\numpy、绘图的matplotlib、读写Excel文档的xlrd/xlwt,链接SQL数据库的SQLalchemy、机器学习框架sklearn等。对于Anaconda集成的两个工作平台,Spyder——一个类似于Matlab和Rstudio的IDE,是专注于面向数据的分析的,因为其特点也主要是数据区的存在,可以即时知道变量值的变化;Ipython——一个基于cell的shell界面,可以理解为python自带shell的增强版,它将程序分成一块一块的cell,每个cell可以包含多条语句,可以单独调试运行,并将结果保存在内存中,cell之间可以相互调用,并保持一定的相互独立。
有哪些值得推荐的Python开发工具_python开发出来的工具
Virtual
首先Python似乎没有类似Maven/Ant这样的项目管理工具。那么当一台机器上有多个python项目,且这些python项目各自有不同的依赖,不想互相干扰时怎么办呢?
官方做法是使用Virtual将每个项目互相隔离开。一般情况下,我们使用python解释器运行python脚本或mole:
》pythonmyScript.py
运行的目录就是安装的python解释器,即python.exe所在的目录。而Virtual就是给每个项目都生成一个项目独有的目录,这个目录里包含python解释器,python标准类库和其他各式各样的必要文件。这样每个项目就可以使用不同的解释器和类库,且互不干扰。
创建过程也很简单。首先找到pyvenv.py所在的目录,这个文件通常在安装目录的自目录Toolsscripts下。这是一个生成Virtual的工具。然后运行:
》pyvenvtutorial-env
运行后就会生成一个名为“tutorial-env”的目录。找到这个目录,可以发现正如官网所说,这个目录包含运行python项目所必须的一切文件。使用在各自Virtual目录里包含的解释器来运行特定的python项目就可以了。同时,对于那些每个项目使用的特定的依赖(packages或mole),则加入到各自Virtual目录的类库子目录中就可以了。这里需要注意的是。创建完Virtual后,还需要激活。做法很简单,在上例tutorial-env目录下执行下的命令即可:
》tutorial-env/Scripts/activate
PIP
PIP是官方提供的安装python第三方类库(packages/mole)的工具。它可以去PPI(pythonpackagesindex)查找或下载第三方类库。网址是:pypi.python.org/pypi
找到上例Virtual目录下的pip.exe并运行:
》pipinstalllib_name
即可安装,其他功能请自行查看手册。如果是在python的安装目录下运行pip,则类库可以被非Virtual的所有项目使用。PIP安装的其实是package。
.txt
在Virtual目录下运行:
》pipfreeze》.txt
可以生产一个当前项目所有依赖类库及其版本的list文件,文件名就是.txt(当然也可以用别的名字)。文件内容大致如下:
novas==3.1.1.3
numpy==1.9.2
requests==2.7.0
使用.txt的好处就是:
The.txtcanthenbecommittedtoversioncontrolandshippedaspartofanapplication.Userscantheninstallallthenecessarypackageswith“install-r“:
》pipinstall-r.txt
这样就可以方便的管理项目依赖了。如果不使用requirements.txt,直接使用versioncontrol存储VirtualEnvironments目录,其他程序员直接下载该目录就可以开始项目开发的做法也可以。
本文相关文章:
c++单元测试工具(c++开发必备:最好用的单元测试工具:Parasoftc++Test9.0,该如何解决)
2024年9月7日 06:45
head first java英文版电子书(推荐几本适合java开发者必看的书,并且拍个序,先看什么后看什么谢谢~~)
2024年9月6日 10:05
linux内核视频教程(哪家的S5PV210开发板有视频教程呢主要是Linux和Android部分)
2024年9月6日 02:15
java编程游戏推荐(《java程序设计》实训——网络三子棋游戏开发)
2024年9月4日 19:35
java开发工程师需要具备的能力(合格的Java开发人员应该具备的能力)
2024年9月3日 10:55
swift playground(swift playground里怎么开发ui界面)
2024年8月30日 18:20
java容器的概念(java开发中很多都提到了容器,容器到底里什么概念,详细点说一下,谢谢)
2024年8月28日 07:10
安卓系统属于系统软件吗(请问 安卓系统是硬件还是软件开发后使用也需要服务器吗怎么开发的)
2024年8月28日 04:35
xamarin安卓开发(用xamarin和原生开发有什么区别)
2024年8月27日 22:50
昆山今日疫情实时报(昆山市体育中心开放时间+区域昆山开发区体育休闲中心什么时候可以建好)
2024年8月24日 06:51
有了源码怎么做小程序(有小程序前端源码如何基于该基础开发后端)
2024年8月23日 15:00
更多文章:
translate full text(有没有实现chrome那样整个网页翻译过来的脚本)
2024年7月20日 07:38
includefile(include page>和<%@include file%>的区别)
2023年7月8日 13:20
统计字符串中字母个数(C#写程序,统计所给字符串中字母的个数、数字的个数和大写字母的个数)
2024年7月23日 16:12
html style标签(请问html文档中style标签属于块状元素吗)
2024年7月9日 13:44
kindeditor导入图片(asp.net上 kindeditor上传图片界面无法显示,一直在滚动)
2024年7月3日 22:18
三星481贴片机在线编程(三星贴片机sm481软件如何安装到电脑)
2024年7月21日 14:32
测试软件是什么工作(软件测试工程师具体是干什么的(软件测试员究竟做些什么))
2024年7月17日 04:34
sqlserver连接到服务器(怎么连接别的服务器的sqlserver)
2024年8月4日 22:50
excel 字符串转数组(Excel 用公式可以将一串文本转换成数组格式吗)
2024年7月20日 07:50
html烟花特效(怎样用canvas特性制作html5烟花的效果)
2024年5月18日 20:46
flow3d(flow3d中meshing左边的控制栏怎么打开)
2024年6月9日 20:45
c语言课后习题(学了没多久C语言,课后练习题完全不会怎么办有没有好一点的学习方法和诀窍)
2024年7月3日 10:11
eclipse怎么彻底删除干净(eclipse中怎样删除工程)
2024年7月21日 14:30
countblank函数怎么用(excel函数如何计数包括空值的单元格数目)
2024年7月11日 16:06