探索Python世界第三部分:Python学徒的故事

我第二篇博客文章的续篇:探索Python世界第二部分。

运行文档中给出的示例与运行项目的代码

Fabian Grohs在Unsplash上​​拍摄的照片

让我们变得积极吧! 撇开安装差异,尝试这些新的Python框架的初衷是成功的。 在ChiPy指导计划的第一个月里,我表现出了幼稚的精神,现在,自从我的前2篇博客文章以来,我对学习一种新的编程语言的认识已经得到发展。

让我们看看,在我的文本编辑器上获得这5行代码来运行一个简单的“ Hello World!” — Flask App,这很容易。 创建一个虚拟环境(venv)并“ pip install”一个依赖项……我做到了。 按照基本示例使用Scrapy抓取网页…完成。 (“ Scrapy是一个Web爬网框架”,由我的导师推荐)。

一种成就感—当我的应用运行时:

  (venv)C:\ Users \ Dani \ Documents \ GitHub \ flask_app> python my_app.py 
*用统计重启
*调试器处于活动状态!
*调试器PIN:314-621-307
*在http://127.0.0.1:5000/上运行(按CTRL + C退出)
127.0.0.1--[19 / Apr / 2018 08:05:37]“ GET / HTTP / 1.1” 200-
127.0.0.1--[19 / Apr / 2018 08:05:39]“ GET /favicon.ico HTTP / 1.1” 200-
-------------------------------------------------- ------------------从flask导入烧瓶,render_template#我的导入在顶部
从flask_bootstrap import Bootstrapapp = Flask(__ name__)#应用实例
bootstrap = Bootstrap(app)#使用Bootstrap@app.route('/')
def index():
return render_template('welcome.html')#模板化
#或直接将html添加到应用中。 不建议。
#返回'

Hello World!

'@ app.errorhandler(404)#找不到页面错误
def page_not_found(e):
如果__name__ =='__main__',则返回render_template('404.html'):
app.run(debug = True)#调试模式

在每周的会议上,我的导师约旦以积极的精神鼓励我继续前进,但是当我试图远离陈词滥调时,我很难陷入自我批评,陈词滥调是一个遭受“冒名顶替综合症”的新手。 总的来说,我认为关键是要在纪律看起来不尽如人意时继续保持纪律。

试图理解以下内容:

  • 学习如何选择关系数据库。 对象关系映射器-SQLAlchemy或Flask作为扩展提供的Flask-SQLAlchemy。
  • 然后,将Flask应用程序的简单示例与更大的应用程序结构进行比较。
  • 从文档中获取Scrapy的基础知识,掌握它!!如果需要刮JavaScript ,则需要合并一个称为SplashJavaScript渲染服务

简而言之,我的项目面临的最大挑战是:抓取JavaScript内容以收集我的数据(随之而来的是查找不会阻止我的网站)以及了解配置以及将数据库合并到Flask应用程序中。

我可以说(具有非程序员背景),学习用于Web开发的Python感觉就像是准备前往Cocos Island潜水之旅(如果您不想遵循以下链接:“位于Costa太平洋海岸550公里之外里卡(Rica)是热带东部太平洋上唯一一个拥有热带雨林的岛屿。”-Exotic?您敢打赌)只有一个独木舟,一个桨和浮潜护目镜。 我在广阔的海洋中遇到了这个新世界。 从后端的角度来看,我正在更深入地研究Flask和Web开发,这已经成为一种深入的海洋探索。

深海的黑暗有时类似于我项目的方向,在这里我几乎不采取任何措施或侧身以适应尝试执行之前未知的新挑战。 在下面几英里远处生活着的稀有生物,是文档中更复杂的示例,因为我一直在阅读将其组合成一个应用程序所需要的内容。 将所有这些部分捆绑在一起是一个巨大的挑战。

(图片来自flask-website GitHub页面)–静态和模板是我最喜欢的文件,database.py及其配置是我面临的挑战,把这个难题摆在一起现在是我的宿敌。

经历了2.5个月的飞跃,我的脑海中有许多刚开始学习的概念 在撰写这篇文章时,我在另一个Medium文章中发现了一条有用的建议。

“掌握语言。 然后学习框架”(https://bit.ly/2HaQ29v)。 -来自Vinicius Brasil

未知的水域动摇了我的幼稚精神。 也许仅仅是“淫荡综合症”的发作。或者仅仅是初学者的学习曲线。 此时的Web开发Python是否有可能更像是一条龙而不是一条蛇-神秘,欺骗了我的新手大脑? 我将确定如何使用其超能力的时候到了。

现在,每次我通过运行以下命令激活虚拟环境时,都会获得授权:

 脚本\激活 
Windows命令提示符的较长版本:
> \ path \ to \ env \ Scripts \ activate
我只是在世界另一端激活了天网吗?!!! (终结者参考)。

在我的下一个迷你文章中,我将详细介绍虚拟环境,安装Scrapy和安装Splash的 细节 。 但是,继续,这里是一个快速摘要,以及一些特定和一般性的提示:( 免责声明提示是基于我的个人见解和经验)

  • 如果您是刚入门,则在创建虚拟环境进行练习但还要在主项目中使用时,请确保为其命名,而不只是标准的“ venv”。 然后,您将知道以后可以删除哪一个。 这个故事背后有一个有趣的故事。
  • 记下任何多步骤安装过程的记录,您很有可能会回到此过程,以及任何可以帮助其他遇到相同问题的特定问题。
  • 如果您正在考虑申请“ ChiPy导师制” ,请在开学前尝试阅读涵盖基础知识的课程和书籍。 如果需要建议,请加入Slack频道。 我认为,对基础知识有深入的了解可以帮助您从程序中获得更多收益。 另外,如果可以的话,请尝试在项目之夜进行,以便您了解ChiPy社区和程序的工作方式。
  • 一致性和纪律性是进入编程时必须具备的两个关键要素。 如果您做的工作与全职工作完全不同,可能很难保持原样。 在这种情况下,唯一需要花时间学习编程技能的时间是在工作前的清晨,午餐时间或深夜。
  • 我的提醒-“现在不要停止!”-这是一项投资! 与ChiPy社区成员会面和合作非常有趣!

如果您读了这么多,谢谢您,太好了。 我将总结一个有用的部分(至少希望对您有所帮助)。

  • 阅读来自其他经历与您相同的博客。 就我而言,来自其他ChiPy学员的博客文章,我发现我不是唯一一个挣扎的人,我可以与他们的旅程联系起来。
  • 在社交媒体上关注开发人员/数据科学家。
  • 收听播客-我的导师推荐的一种播客是“ Talk Python To Me”
  • 继续进行研究,探索不同的主题,直到找到一个结合了您很多兴趣的主题。 无论如何,这就是我一直在听到的,也是为什么我应该继续前进的原因!
  • 加入并参加在该市举行的“高科技”聚会,这就是我找到ChiPy的方式!

ChiPy:芝加哥的官方Python用户组

年度首个数据科学SIG! 我们有两位数据科学家Mark Hoffmann和Zax Rosenberg谈论他们的……

www.meetup.com

我非常感谢参与ChiPy指导计划和社区的每一个人!