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之间可以相互调用,并保持一定的相互独立。
可以说有了anaconda自带的这两个工具,足够做数据处理相关的工作了(本身anaconda就是一个为了数据科学而诞生的发行版),但如果涉及到脚本程序和包的开发,感觉spyder还是有点弱,在试过IDE,代码编辑器(比如visual code、sublime等)+插件,这两种方案后,我最后选择了集成度更高的成熟IDE——Pycharm替换spyder作为主要的开发平台,看我头像也可以知道我是一个喷气大脑的死忠,他们家的IDE真的很好用~理由如下:
1、首先作为学生,可以通过e邮箱申请到Jetbrains全家桶,即便无法获取授权,pycharm的community版本免费并且功能足够
2、对于pycharm,可以方便快捷地切换python不同版本的解释器,甚至可以安装相同版本的python解释器配置不同的开发环境,这可以解决有些包之间冲突的情况,也可以针对有些框架按需装包;并且pycharm内置包管理,可以免去pip或者conda方式管理包。
3、pycharm这个IDE的颜色方案、拼写补全、函数联想、函数跳转源代码、断点调试及debug等功能都让我用的十分顺手。
总之我现在的工作流程就是,先用对我需要的功能进行设计,而后在ipython界面下设计调试每个功能模块,调试成功后放到pycharm中组合起来,写成脚本文件,最后用pycharm做调试形成成品。
⑵ python的ide有哪些
分享的这几个IDE工具希望会对你的开发有帮助。
1.Pyscripter
Pyscriptor是一个开源的Python集成开发环境,很富有竞争力,同样有诸如代码自动完成、语法检查、视图分割文件编辑等功能。
2. Wing
Wing是一个Python语言的超强IDE,适合做交互式的Python开发.Wing IDE同样支持自动代码完成、代码错误检查、开发技巧提示等,而且Wing IDE也支持多种操作系统,包括Windows、linux和Mac OS X。
3. Emacs
Emacs是一个可扩展的文本编辑器,同样支持Python开发.Emacs本身以Lisp解释器作为其核心,而且包含了大量的扩展。
4. Pycharm
Pycharm是一个跨平台的Python开发工具,是JetBrains公司的产品.其特征包括:自动代码完成、集成的Python调试器、括号自动匹配、代码折叠.Pycharm支持Windows、MacOS以及Linux等系统,而且可以远程开发、调试、运行程序。
5. Sublime Text
SublimeText也是适合Python开发的IDE工具,SublimeText虽然仅仅是一个编辑器,但是它有丰富的插件,使得对Python开发的支持非常到位。
6. Vim
Vim是一个简洁、高效的工具,也适合做Python开发。
7. Komodo Edit
Komodo Edit是一个免费的、开源的、专业的Python IDE,其特征是非菜单的操作方式,开发高效。
8. Eclipse with PyDev
Eclipse+PyDev插件,很适合开发Python Web应用,其特征包括自动代码完成、语法高亮、代码分析、调试器、以及内置的交互浏览器。
很多时候,一个好的工具能够对于编程的辅助作用是非常大的,无论是在python培训期间还是工作之后,都脱离不了各种IDE工具应用。
⑶ Python包管理工具pip的安装和使用
Python有两个着名的包管理工具easy_install.py和pip。在Python2.7的安装包中,easy_install.py是默认安装的,而pip需要我们手动安装。
方法1:利用常用curl获取
>>后面是指定获取的pip脚本的名字,也可以是curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
方法2:利用wget获取,先要安装wget
备注:看网上还有利用easy_install安装pip,但是我尝试了并没有成功
原因是 Python.org sites 终止支持TLS1.0和1.1版本,TLS需要>=1.2
参考: https://stackoverflow.com/questions/49768770/not-able-to-install-python-packages-ssl-tlsv1-alert-protocol-version
主要命令:
所有命令中,最重要的两个命令是install和uninstall。
pip支持四种方式安装python包。
从PyPI安装一个包
安装一个全局区域的包,一般需要sudo权限。在mac系统上,即使是管理员也无法安装,自从OS X El Capitan及以后的版本包含了一套安全技术(System Integrity Protection简称为SIP)来防止恶意软件修改系统保护区域。具体可参考SIP。因此,我们有时候需要将PyPI包安装到用户区,这个时候,可以用.
pip在升级软件包之前会自动卸载旧的软件包。
可以将所有需要安装的包放入一个requirements.txt文件中,然后可以一次安装。requirements.txt 文件的每一行都要表明安装的内容,而且尽量不要依赖文件中指定包的前后安装顺序。
从git安装
从svn安装
从一个分支安装
还有很多其他的包安装功能,但是上面的已经满足了大部分需求。其他的请参考 文档 。
pip uninstall可以卸载大部分的包,除了一下两种情况
使用方式主要有两种:
卸载单个包
卸载多个包
pip check用来验证已安装的包是否有兼容的依赖性问题。
上面的结果说明matplotlib包有两个依赖包没有安装。
pip search用来搜索名字或者摘要中包含搜索关键字的PyPI包。
选项只有一个,就是指定PyPI的url,默认url为 https://pypi.python.org/pypi
例如,search frida
以下两者都可以用,结果同上。
pip list命令会按照字典序排列列举已安装的包,包括可编辑的包。
主要有如下选项:
输出格式:
legacy:将要被废弃
freeze
columns
json
当某些时候debug的时候,需要提供一个完整的python环境,python freeze提供了此功能,它能够输出机器上python环境的快照(所有已安装的包)。
下面是freeze命令的选项:
输出用户区安装的前5个安装包:
pip show可以用来显示每个包的具体信息。show命令只有一个选项 -f,用来显示安装包的文件列表。
$ pip show -f|--files packageName
更多命令请参考 文档
pip默认的index-url是 https://pypi.python.org/pypi/ ,
为了提高速度,我们可以更改pip源为国内的阿里云源。更改方法如下:
创建配置文件
添加阿里源
pip.conf内容如下:
⑷ 最受欢迎的 15 大 Python 库有哪些
1、Pandas:是一个Python包,旨在通过“标记”和“关系”数据进行工作,简单直观。它设计用于快速简单的数据操作、聚合和可视化,是数据整理的完美工具。
2、Numpy:是专门为Python中科学计算而设计的软件集合,它为Python中的n维数组和矩阵的操作提供了大量有用的功能。该库提供了NumPy数组类型的数学运算向量化,可以改善性能,从而加快执行速度。
3、SciPy:是一个工程和科学软件库,包含线性代数,优化,集成和统计的模块。SciPy库的主要功能是建立在NumPy上,通过其特定子模块提供有效的数值例程,并作为数字积分、优化和其他例程。
4、Matplotlib:为轻松生成简单而强大的可视化而量身定制,它使Python成为像MatLab或Mathematica这样的科学工具的竞争对手。
5、Seaborn:主要关注统计模型的可视化(包括热图),Seaborn高度依赖于Matplotlib。
6、Bokeh:独立于Matplotlib,主要焦点是交互性,它通过现代浏览器以数据驱动文档的风格呈现。
7、Plotly:是一个基于Web用于构建可视化的工具箱,提供API给一些编程语言(Python在内)。
8、Scikits:是Scikits
Stack额外的软件包,专为像图像处理和机器学习辅助等特定功能而设计。它建立在SciPy之上,中集成了有质量的代码和良好的文档、简单易用并且十分高效,是使用Python进行机器学习的实际行业标准。
9、Theano:是一个Python软件包,它定义了与NumPy类似的多维数组,以及数学运算和表达式。此库是被编译的,可实现在所有架构上的高效运行。
10、TensorFlow:是数据流图计算的开源库,旨在满足谷歌对训练神经网络的高需求,并且是基于神经网络的机器学习系统DistBelief的继任者,可以在大型数据集上快速训练神经网络。
11、Keras:是一个用Python编写的开源的库,用于在高层的接口上构建神经网络。它简单易懂,具有高级可扩展性。
12、NLTK:主要用于符号学和统计学自然语言处理(NLP) 的常见任务,旨在促进NLP及相关领域(语言学,认知科学人工智能等)的教学和研究。
13、Gensim:是一个用于Python的开源库,为有向量空间模型和主题模型的工作提供了使用工具。这个库是为了高效处理大量文本而设计,不仅可以进行内存处理,还可以通过广泛使用NumPy数据结构和SciPy操作来获得更高的效率。
…………
⑸ python用什么编辑器
IDLE:
装了python就会有这个,大家肯定都用过了,功能还凑合,调试器的使用方法和大家熟悉的eclipse/Visual Studio很不一样,需要学习和适应。各项表现都一般。推荐度:★★
PythonWin:
内置Win32 extension,PythonWin成为了win32的python程序开发者必备的工具。虽然它只能运行在Win下,但其实也是开源的。功能上可以认为它是加上了自动补全和智能感知功能的IDLE,虽然和以其它一些复杂的IDE相比有些差距,但却是不错的轻量级Python IDE。推荐度★★★
SPE:
全名Stani's Python Editor。相当不错的IDE,语法高亮、代码折叠、智能感知、自动语法检查等功能一应俱全,集成wxGlade。可惜没有自动补全功能。开源,可以用svn下载到最新的源代码,依赖wxPython。但久未更新(最后一次更新是在2008年2月),逆水行舟,不进则退,功能上比其它IDE已经没有什么优势了。推荐度★★★★
Ulipad:
前身是NewEdit,和SPE相比,多了自动补全功能,因而比SPE更加方便,不过没有把界面设计器wxGlade集成进来。开源,可以用svn下载到最新的源代码,依赖wxPython。轻便小巧而功能强大,非常适合初学者。推荐度★★★★★。
Eric:
Eric升级到4后,各方面有了很强的提升,全方位超过其它开源IDE。使用PyQt4作为图形库,界面美观大方,并与QtDesigner结合,使得开发GUI程序变得非常方便,比下面将提到到BOA还要好用。最大的亮点莫过于它的调试器,支持断点设置、单步调试和变量值查看。一句话,有了Eric4,就不用再去捣腾商业的IDE了。推荐度★★★★★,个人强烈推荐。
Boa Constructor:
比起SPE和Ulipad,BOA的编辑功能相当单薄,自动补全与智能感知都要手动,而且没有自动语法检查,但调试器比较好用。最大的亮点是界面设计器相当好用,比wxGlade要好用得多。硬伤是对中文支持不好。依赖wxPython。这个IDE也是久未更新了,最后一次更新是在2007年7月,没有什么特别的理由的话就别用它了。推荐度★★★。
⑹ Python 包管理工具
Python之所以受欢迎不光是因为它简单易学,更重要的是它有成千上万的宝藏库。这些库相当于是已经集成好的工具,只要安装就能在Python里使用。它们可以处理各式各样的问题,无需你再造轮子,而且随着社区的不断更新维护,有些库越来越强大,几乎能媲美企业级应用。那么这些工具库怎么下载安装呢?它们被放在一个统一的“仓库”里,名叫PyPi(Python Package Index),所有的库安装都是从这里调度。有了仓库之后,还需要有管理员,pip就是这样一个角色。
pip 是 Python 中的标准库管理器,这意味着它是一个工具,用它可以来管理 Python 标准库中其他的包,允许你安装和管理不属于 Python 标准库的其它软件包,其提供了对 Python 包的查找、下载、安装、卸载等功能。总的来说,pip的Python第三方库的大管家,搞懂它,会让你省很多事。从Python 3 >= Python 3.4 、Python2 >= Python2.7.9 版本开始,pip默认包含在Python的安装程序中,在安装Python时将会自动被安装,省事方便。
Python 的安装器中自带了 pip,所以你可以直接使用它,除非你安装的是更早版本的 Python。你可以通过以下命令来判断是否已安装:
如果你的 Python 环境没有安装 pip,则可以使用以下方法来手动安装。pip 安装文件下载: pypi.org/project/pip…
pip提供的命令不多,但是都很实用
pip命令默认使用的是国外的pypi镜像(pypi.python.org),安装慢不说,有时甚至会导致出现超时等网络问题,有时候为了安装一个包,失败重试安装好几次都不一定成功。所以,使用国内的pypi镜像,亦即 切换 pip 源 ,这样速度上更有保证,不失为一种加速pip安装第三方包的好方法。常用的镜像站有阿里云、清华大学等。其中清华大学开源软件镜像站是每 5 分钟同步一次的,比较推荐使用。阿里云镜像站的速度也非常快,这也是我现在在使用的。
切换切换 pip 源可以是临时性的,也可以设置为默认。临时性的,就是在安装包时,通过pip命令的 -i 选项指定镜像源即可。例如,临时使用阿里云镜像站作为 pip 源,可以是这样安装:
如果每次安装时都想要通过镜像源来安装,上面的办法不免有些麻烦。我们可以修改pip的配置文件,将镜像源写入到 pip 配置文件中。 对于linux系统 ,修改 ~/.pip/pip.conf 文件 (没有就创建一个文件夹及文件,文件夹要加“.”,表示是隐藏文件夹):
然后在文件中保存如下内容:
对于windows系统 ,在C:Users文件夹下的用户目录(例如如果当前用户是Administrator则是C:UsersAdministrator)下创建pip文件夹,然后再在此文件夹下创建pip.ini文件,在文件中写入一下内容:
配置完成后再通过 pip config list 查看pip配置。
我们经常会遇到这样的开发需求,比如你手头有多个开发项目,其中项目A要求用python3.7,项目B需要用python3.6,有要求项目A和项目B依赖包相互独立,互不干扰。为了满足这样的开发需求,我们需要在自己的电脑上安装多个Python版本,并且项目之间进行环境隔离。因此,我们要想运行这些项目,在工作电脑上就要安装不同版本的Python。 pyenv 是Python版本管理工具,通过系统修改环境变量来实现Python不同版本的切换,利用它可以在同一台电脑上安装多个版本的Python,设置目录级别的Python,还能创建和管理vitual python enviroments。而且所有的设置都是用户级别的操作,不需要sudo命令。
首先安装pyenv,如果你是Mac电脑,那么推荐使用Homebrew来安装。
要想升级pyenv,则可以执行:
pyenv安装完成后,需要将$HOME/.pyenv/bin添加到PATH变量前面,这一步非常关键。
也可以采用手动安装的方式,将pyenv检出到你想安装的目录。
添加环境变量,将PYENV_ROOT 指向 pyenv 检出的根目录,并向 $PATH 添加 $PYENV_ROOT/bin 以提供访问 pyenv命令的路径。这里的 shell 配置文件(~/.bash_profile)依不同系统而需作修改,如果使用 Zsh 则需要相应的配置 ~/.zshrc
在使用 pyenv 之后使用 pip 安装的第三方模块会自动安装到当前使用 python 版本下,不会和系统模块产生冲突。使用 pip 安装模块之后,如果没有生效,记得使用 pyenv rehash 来更新。
安装完pyenv,可以安装Python,首先查看可安装的Python版本:pyenv install -l,接下来开始安装Python
执行命令 pyenv versions 查看安装结果。
可以看到,已经成功安装了Python,安装的位置在 /Users/dllwh/.pyenv。
可以看到,3.9.9 前面有一个星号,说明成功切换到了 3.9.9 版本,可以执行一下python来验证。
Pipenv 是 Python 官方推荐的包管理工具,它综合了 virtualenv、pip 和 pyenv 三者的功能,你可以使用 pipenv 这一个工具来安装、卸载、跟踪和记录依赖性,并创建、使用和组织你的虚拟环境。
如果你是Mac电脑,那么推荐使用Homebrew来安装和升级pipenv:
也可以通过pip来安装和升级pipenv:
进入到项目目录中,通过下面的指令为项目创建虚拟环境。
上面的操作,给pipenv_demo这个项目初始化了一个 Python 3.9.9 的虚拟环境,并在项目录下生成一个项目依赖包文件 Pipefile。如果系统中没有 3.9.8 版本的Python,pipenv 会调用 pyenv 来安装对应的 Python 的版本。默认地,虚拟环境会创建在 ~/.local/share/virtualenvs目录里面。我们也可以通过 pipenv --venv查看项目的虚拟环境目录。可以通过 pipenv --rm 删除虚拟环境。
如果想更改虚拟环境的目录,可以在 .bashrc 或 .bash_profile 中,设置环境变量WORKON_HOME,指定虚拟环境的目录所在位置,比如想将虚拟环境放到~/.venvs目录,则可以执行下面的命令。
如果希望在项目目录下创建虚拟环境目录(.venv),需要在 .bashrc 或 .bash_profile 中配置环境变量PIPENV_VENV_IN_PROJECT:
pipenv使用 Pipfile 和 Pipfile.lock 来管理依赖包,并且在使用pipenv添加或删除包时,自动维护 Pipfile 文件,同时生成 Pipfile.lock 来锁定安装包的版本和依赖信息。相比pip需要手动维护requirements.txt 中的安装包和版本,具有很大的进步。
为项目安装依赖包到虚拟环境中,使每个项目拥有相互独立的依赖包,是非常不错的Python的开发实践。安装依赖包到虚拟环境中的方法:
执行完上面的命令后,检查一下是否安装成功:
观察项目的根目录下,又多了一个 Pipfile.lock 文件。这两个文件记录了此项目的依赖包,这两个文件的区别是 Pipfile 中安装的包不包含包的具体版本号,而Pipfile.lock 是包含包的具体的版本号的。如果不想产生 Pipfile.lock 文件,在安装依赖包的时候,加上 –skip-lock 选项即可。
在使用pipenv的时候,常常会安装过程比较慢,这个是因为pipenv创建的 Pipfile 中默认的Pypi源是python官方的 pypi.python.org/simple。我们国内…
为了避免每次都要指定–pypi-mirror,我一般会在创建好Pipfile以后,将文件中 source 块下的 url 字段,设置为国内的 pypi 源,我推荐的是清华的Pypi源或者阿里源,具体设置如下:
如果是要删除虚拟环境中的第三方包,执行:
用git管理项目时候,要把Pipfile和Pipfile.lock加入版本跟踪。这样clone了这个项目的同学,只需要执行:
就可以安装所有的Pipfile中 [packages]部分列出来的包了,并且自动为项目在自己电脑上创建了虚拟环境。
上面的方法都是安装Pipfile中列出来的第三方包的最新版本,如果是想安装Pipfile.lock中固定版本的第三方依赖包,需要执行:
如果项目之前使用requirements.txt来管理依赖的,那么使用pipenv安装所有依赖可以采用类似pip的方法:
虚拟环境创建好了之后,就可以在里面进行开发了。如果在命令行下开发,则在项目目录下执行 pipenv shell ,就进入到了虚拟环境中,在这个环境中,已经包含安装过的所有依赖包了,接下来就可以利用这些依赖包进行开发工作了。如果是用Pycharm进行开发,就更简单了,直接用Pycharm打开项目即可。可以从Pycharm中的左侧导航栏里面看到External Libraries显示的是虚拟环境中的Python解释器了。
在虚拟环境中执行开发好的程序,有两种方式,一种是前面提到的先执行pipenv shell进入到虚拟环境后,再执行python程序;另一种方式,则是执行pyenv run,比如在虚拟环境中执行基于pytest框架编写的测试用例,只需要执行下面的命令即可:
作者:独泪了无痕
链接:https://juejin.cn/post/7063699409703272485
⑺ Python 常用的标准库以及第三方库有哪些
Python常用库大全,看看有没有你需要的。
环境管理
管理 Python 版本和环境的工具
p – 非常简单的交互式 python 版本管理工具。
pyenv – 简单的 Python 版本管理工具。
Vex – 可以在虚拟环境中执行命令。
virtualenv – 创建独立 Python 环境的工具。
virtualenvwrapper- virtualenv 的一组扩展。
包管理
管理包和依赖的工具。
pip – Python 包和依赖关系管理工具。
pip-tools – 保证 Python 包依赖关系更新的一组工具。
conda – 跨平台,Python 二进制包管理工具。
Curdling – 管理 Python 包的命令行工具。
wheel – Python 分发的新标准,意在取代 eggs。
包仓库
本地 PyPI 仓库服务和代理。
warehouse – 下一代 PyPI。
Warehousebandersnatch – PyPA 提供的 PyPI 镜像工具。
devpi – PyPI 服务和打包/测试/分发工具。
localshop – 本地 PyPI 服务(自定义包并且自动对 PyPI 镜像)。
分发
打包为可执行文件以便分发。
PyInstaller – 将 Python 程序转换成独立的执行文件(跨平台)。
dh-virtualenv – 构建并将 virtualenv 虚拟环境作为一个 Debian 包来发布。
Nuitka – 将脚本、模块、包编译成可执行文件或扩展模块。
py2app – 将 Python 脚本变为独立软件包(Mac OS X)。
py2exe – 将 Python 脚本变为独立软件包(Windows)。
pynsist – 一个用来创建 Windows 安装程序的工具,可以在安装程序中打包 Python本身。
构建工具
将源码编译成软件。
buildout – 一个构建系统,从多个组件来创建,组装和部署应用。
BitBake – 针对嵌入式 Linux 的类似 make 的构建工具。
fabricate – 对任何语言自动找到依赖关系的构建工具。
PlatformIO – 多平台命令行构建工具。
PyBuilder – 纯 Python 实现的持续化构建工具。
SCons – 软件构建工具。
交互式解析器
交互式 Python 解析器。
IPython – 功能丰富的工具,非常有效的使用交互式 Python。
bpython- 界面丰富的 Python 解析器。
ptpython – 高级交互式Python解析器, 构建于python-prompt-toolkit 之上。
文件
文件管理和 MIME(多用途的网际邮件扩充协议)类型检测。
imghdr – (Python 标准库)检测图片类型。
mimetypes – (Python 标准库)将文件名映射为 MIME 类型。
path.py – 对 os.path 进行封装的模块。
pathlib – (Python3.4+ 标准库)跨平台的、面向对象的路径操作库。
python-magic- 文件类型检测的第三方库 libmagic 的 Python 接口。
Unipath- 用面向对象的方式操作文件和目录
watchdog – 管理文件系统事件的 API 和 shell 工具
日期和时间
操作日期和时间的类库。
arrow- 更好的 Python 日期时间操作类库。
Chronyk – Python 3 的类库,用于解析手写格式的时间和日期。
dateutil – Python datetime 模块的扩展。
delorean- 解决 Python 中有关日期处理的棘手问题的库。
moment – 一个用来处理时间和日期的Python库。灵感来自于Moment.js。
PyTime – 一个简单易用的Python模块,用于通过字符串来操作日期/时间。
pytz – 现代以及历史版本的世界时区定义。将时区数据库引入Python。
when.py – 提供用户友好的函数来帮助用户进行常用的日期和时间操作。
文本处理
用于解析和操作文本的库。
通用
chardet – 字符编码检测器,兼容 Python2 和 Python3。
difflib – (Python 标准库)帮助我们进行差异化比较。
ftfy – 让Unicode文本更完整更连贯。
fuzzywuzzy – 模糊字符串匹配。
Levenshtein – 快速计算编辑距离以及字符串的相似度。
pangu.py – 在中日韩语字符和数字字母之间添加空格。
pyfiglet -figlet 的 Python实现。
shortuuid – 一个生成器库,用以生成简洁的,明白的,URL 安全的 UUID。
unidecode – Unicode 文本的 ASCII 转换形式 。
uniout – 打印可读的字符,而不是转义的字符串。
xpinyin – 一个用于把汉字转换为拼音的库。
⑻ python一般用什么软件
python一般用什么软件?
python一般用的软件有:Subpme Text、Atom、PyCharm等。
Subpme Text
Subpme Text是一款非常流行的代码编辑器,其开发者是一名谷歌的工程师,其梦想是使之成为更好的文本编辑器。Subpme Text支持Python代码编辑同时兼容所有平台,并且丰富的插件(称之为“包”)扩展了语法和编辑功能。
安装额外的Python扩展可能会比较棘手,Subpme Text中所有的包都是用Python写成的,并且安装社区扩展往往需要直接在Subpme Text中执行Python脚本。
优点:Subpme Text在编程社区内很受推崇。单单从代码编辑器的角度来看,Subpme Text迅捷小巧并且具有良好的兼容性。
缺点:尽管你可以无限期的使用测试版本但是Subpme Text不是免费软件。在Subpme Text中安装扩展插件可能会比较棘手,另外并不支持直接在编辑器内部执行或调试代码。
Atom
同样兼容所有平台的Atom被称为是“21世纪可破解的文本编辑器”。开源的Atom拥有时尚的界面、文件系统浏览器和扩展插件市场,它是使用Electron构建的,Electron使用JavaScript、HTML和CSS构建跨平台的桌面应用。Python语言由一款可在Atom运行时安装的扩展插件支持。
优点:得益于Electron,Atom广泛兼容各大平台。同样Atom小巧且下载和载入都非常迅速。
缺点:内置并不支持构建和调试,这些功能是由社区提供支持的。同样由于Atom建立在Electron框架上,所以它始终运行在JavaScript进程中而不是作为本地应用运行。
PyCharm
PyCharm是最好的一个(也是唯一一个)专门面向于Python的全功能集成开发环境。同样拥有付费版(专业版)和免费开源版(社区版),PyCharm不论是在Windows, Mac OS X系统中, 还是在Linux系统中都支持快速安装和使用。
开箱即用,PyCharm直接支持Python开发环境,打开一个新的文件然后就可以开始编写代码。你也可以在PyCharm中直接运行和调试Python程序,并且它支持源码管理和项目。
优点:这是真正的Python集成开发环境,拥有众多便利和支持社区。它的编辑、运行和调试功能统统开箱即用。
缺点:PyCharm存在加载较慢的问题,另外对于已有的项目,默认设置可能需要调整。
相关推荐:《Python教程》以上就是小编分享的关于python一般用什么软件的详细内容希望对大家有所帮助,更多有关python教程请关注环球青藤其它相关文章!
⑼ python包管理工具pip install详解
pip install用来安装python第三方库,使用时有比较多的选项,这里我们选几个常用的来讲解下,包括以下几个: --requirement,--no-deps,--target,--user,--upgrade,--force-reinstall,--ignore-installed。
这个选项允许我们指定一个文件,pip会安装此文件里指定的第三方库,比如我的电脑上有个文件 requirements.txt,内容如下:
当我执行pip install -r requirements.txt时就会安装上面的3个库,输出内容的最后两行如下:
我们看到安装的库多于3个,那是因为pip也会同时安装依赖,这个就是下面要讲的。
这个选项告诉pip不安装依赖,只安装指定的库,如果执行以下语句:
则会只安装3个库,最后两行输出如下:
这个选项指定安装目录,比如指定 --target /pip/install/directory 就会安装到/pip/install/directory目录。
这个选项指定安装到特定目录,linux上是 ~/.local/,windows上是 %APPDATA%Python。
当一个库有新版本时,我们可以指定这个参数对其进行升级。
如果我们已经安装过某个库,再次安装时不会重新安装,这时指定 --force-reinstall 可以强制安装。
这个选项告诉pip忽略已经安装的库,导致pip会覆盖它们。这个选项与force-reinstall不同的是,如果某个库已安装,force-reinstall会先卸载再安装,ignore-installed不会卸载会直接覆盖。
⑽ python多版本和虚拟环境(pyenv+conda or virtualenv)
2.7.X
3.X
Anaconda2
Anaconda3
pyenv是一个管理各个python版本的管理器。可以在系统里同时保留多个python版本,等需要时定义需要的版本。
项目地址
看项目地址中的readme
查看pyenv可安装的版本列表
安装和卸载指定版本,会将python版本安装在 $(pyenv root)/versions/ 中
查看当前已经安装了的python版本。输出内容中,system关键字是系统python版本。 *表示当前环境所处的版本。
全局切换为anaconda科学计算环境(不建议这么做),做了如果要恢复,则将最后一个参数改为--unset
当前环境接环。在当前目录以下。如果要恢复,则将最后一个参数改为--unset
本来这是一个单独的软件用来虚拟一个python版本环境,让每个工作环境都有一套独立的python各自的第三方插件互不影响。然而在 pyenv 下有一个插件 pyenv-virtualenv 他可以在 pyenv 的环境下担负起 virtualenv 的事情。(如果使用的是原生python可以用这个工具,如果用的是anaconda则不用这个,用下一章说的conda工具来完成虚拟环境)
项目地址
看项目地址中的readme
在当前目录下创建一个 python 版本为2.7.1的环境,环境名字为 env271。 这个环境的真实目录位于 ~/.pyenv/versions/
(创建时并不激活)激活当前环境。此时已经进入虚拟环境,在当前环境下所有pip等操作都不会影响系统环境和系统路径。
离开已激活的环境,切换回系统环境。但并没有被删除,下次依旧可以启动。
删除一个环境,当然也可以到真实目录下删除文件夹。
本来不想用这个的,但是因为 pyenv-virtualenv 有一些问题,无法很好的管理conda环境,比如有一些anaconda 自带的一些命令(例如pylint)无法被使用。因此还是老老实实使用 conda 来管理虚拟环境。
conda 是自带于 anaconda 的所以并不需要额外安装,如果在 anaconda 环境中就可以使用。conda 不仅可以进行 环境管理 ,还可以 包管理 ,和对 anaconda和conda 进行 版本升级 。
由于conda使用方法太多,因此这里罗列一些常用的主要是一些虚拟环境的命令。具体的到 官网文档 去查看一下。
首先conda工具是需要在anaconda环境下的,因此先执行 pyenv local anaconda3-4.2.0 进入anaconda环境后就可以执行conda工具了。
创建一个虚拟环境。可以指定名字,指定包,甚至制定python(这样的话就python版本管理了所以不建议使用,python版本管理交给pyenv),所以命令中 python=x.x 可以不写
罗列已经创建的环境,两条命令是一样的。
激活一个环境。和virtualenv一样,创建不等于激活。激活后才能真正使用虚拟环境。
如果发生错误 Error: activate must be sourced. Run 'source activate envname' 说明activate命令没有找对,导致错误。吧命令改成
这样就能成功建立虚拟环境了。
删除一个虚拟环境。
复制一个虚拟环境。这个是个不错的好功能。
conda还能吧环境配置文件导出,在另一台机器上重新读入配置文件,就能复刻你的环境了。
conda 还能进行包的管理。调用的是 pip 所以也很棒。
查看当前环境已安装包,用-n指定后,就是查看某个环境下的已安装包
为某个指定的环境安装包,升级包,删除包。
它还能升级自身和anaconda和python的版本。
它和pip一样也能设置安装包的镜像位置。其余还有能使用R命令等等,都到官网文档中搜索一下。