设为首页 - 加入收藏 邢台站长网 (http://www.0319zz.com)- 国内知名站长资讯网站,提供最新最全的站长资讯,创业经验,网站建设等!
热搜: 京东 市场 回应 微信
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

特别推荐!优化#8203;Python开发环境的几个技巧,实现自动化让你远离烦恼

发布时间:2019-11-12 08:09 所属栏目:[优化] 来源:读芯术
导读:用Python编代码体验极佳,并随着新版本的发布越来越好!对于我而言,Python提供的大量免费函数库、高可读性的程序和新引入的类型注释让我沉迷其中无法自拔。然而,数据科学家特别容易使自己的Jupyter notebook变得庞大而杂乱,或者写出一些难以理解的python

用Python编代码体验极佳,并随着新版本的发布越来越好!对于我而言,Python提供的大量免费函数库、高可读性的程序和新引入的类型注释让我沉迷其中无法自拔。然而,数据科学家特别容易使自己的Jupyter notebook变得庞大而杂乱,或者写出一些难以理解的python文件。此外,当一个项目依赖于同一函数库的不同版本时,常常发生版本冲突。修复以上问题消耗大量时间,还经常导致其他项目出现问题。必须找到避免这类问题的解决方式,为编写代码提供便利。

在本篇文章中我将详细介绍常用的工具与技巧,希望能为读者提供帮助。

特别推荐!优化#8203;Python开发环境的几个技巧,实现自动化让你远离烦恼

Python开发环境

1. 解释器

从使用Python时最重要的解释器开始。你当然可以只下载最喜欢的Python版本,然后把所有内容放在里面。但如果你的程序需要不同版本的Python,或依赖于同一第三方模块的不同版本,并需要在几个程序之间无缝切换时该怎么办?

Pyenv可以解决上述问题。

Pyenv共包含三个工具,笔者将介绍其中两个:pyenv(用于安装python)和pyenv-virtualenv(用于配置全局工具)。

通过下方网址安装pyenv。

curl https://pyenv.run | bash

安装后,向.bashrc(或.zshrc)文件中添加下方代码,使得pyenv可用于设备。

  1. exportPATH="~/.pyenv/bin:$PATH"?
  2. eval?"$(pyenv?init?-)"?
  3. eval?"$(pyenv?virtualenv-init?-)"?

最后,重启设备。现在可以使用pyenv安装几乎所有的python解释器,包括pypy、anaconda。

需要注意的是,pyenv只在电脑上搭建本地python环境。搭建python环境需要多种函数库。在Ubuntu系统的电脑上,必须安装以下函数库以防止运行出现问题。

  1. sudo?
  2. apt-get?installbuild-essential?libsqlite3-dev?sqlite3?bzip2?libbz2-dev?
  3. zlib1g-dev?libssl-dev?openssllibgdbm-dev?libgdbm-compat-dev?liblzma-dev?libreadline-dev?libncursesw5-devlibffi-dev?uuid-dev?

现在,要安装python解释器只需要执行以下指令。

  1. pyenv?installVERSION_YOU_WOULD_LIKE_TO_INSTALL?

可以通过pyenv列出所有可用版本。

  1. pyenv?install?--list?

为了使上述过程更加具体,在此安装python3.7.5并且设置其为默认的全局解释器。

  1. pyenv?install?3.7.5?
  2. pyenv?global?3.7.5?

输入Python-version指令,屏幕将显示Python3.7.5。

2. 依赖性关系管理(DependencyManagement)

Python中的依赖性管理是项繁重的工作。有许多工具可以帮助完成这项任务。

我最常使用的工具是Poetry。

Poetry可以帮助你简单地完成如下工作。

  • 管理项目依赖关系
  • 通过虚拟环境将项目分开
  • 轻松构建应用程序与函数库

笔者推荐通过以下方式安装poetry:

  1. curl?-sSL?https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py?|?python?

另外一种依赖性管理的方式是使用pip和pyenv-virtualenv指令。读者可能会问:为什么不只用pip?因为只用pip可能会在全局环境中安装poetry及其依赖项,这可能是你不需要也不想要的。必要指令如下。

  1. #?Create?a?virtual?environmentcalled?tools?that?is?based?on?3.7.5?
  2. pyenv?virtualenv?3.7.5?tools?
  3. #?Install?poetry?into?the?tools?virtual?env?
  4. pyenv?activate?tools?
  5. pip?install?poetry?
  6. #?Check?installed?poetry?version?
  7. poetry?--version?
  8. #?Leave?the?virtual?env?
  9. pyenv?deactivate?
  10. #?This?does?not?work?yet?
  11. poetry?--version?
  12. #?Add?your?tools?virtual?env?to?the?globally?available?ones?
  13. pyenv?global?3.7.5?tools?
  14. #?Now?this?works?and?you?can?start?using?poetry?
  15. poetry?--version?

在使用poetry创建第一个项目之前,建议先对其进行配置,这样就可以在项目目录中的.venv文件夹中创建虚拟环境。当你使用VsCode或Pycharm这类集成开发环境时就会变得非常方便,因为它们可以立即识别并选择正确的解释器。

  1. poetry?configsettings.virtualenvs.in-project?true?

注意,你只需设置一次配置,设置结果将在全局环境保留。

终于完成了使用poetry创建项目的所有准备工作,太棒了!我把这个项目命名为dsexample,我知道这个名字很蠢,但我不想浪费时间去想一个更好的。为了展示如何使用poetry,我添加了一个特定版本的pandas库,以及所有额外需求的fastapi框架。

  1. #?Initialze?a?new?project?
  2. poetry?new?dsexample?
  3. cd?dsexample?
  4. #?Add?modules?and?create?virtual?environment.?
  5. poetry?add?pandas=0.25?fastapi?--extras?all?
  6. #?As?an?example?of?how?you?could?add?a?git?module?
  7. poetry?add?tf2-utils?--git?git@github.com:Shawe82/tf2-utils.git?

如果想要查看一个使用了文中推荐工具的实际项目,请前往我的Github仓库。

3. 格式一致性与可读性(Consistent Formatting and Readability)

现在,已经创建好了项目,即将开始添加代码。理想情况下,代码库的格式应该一致,以确保可读性和可理解性。这将是一个非常沉闷乏味的过程,尤其在还有其他人操作代码库时。

但用Black可以解决上述问题!

【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

网友评论
推荐文章