专栏名称: Python爱好者社区
人生苦短,我用Python。分享Python相关的技术文章、工具资源、精选课程、视频教程、热点资讯、学习资料等。每天自动更新和推送。
目录
相关文章推荐
Python爱好者社区  ·  yyds!哈工大博士的PyTorch笔记终终 ... ·  1 周前  
Python爱好者社区  ·  腾讯被列入美国防部黑名单?! ·  1 周前  
Python爱好者社区  ·  Pytorch速成手册.pdf ·  1 周前  
Python爱好者社区  ·  开心麻花扎的心,被讯飞星火修复了 ·  1 周前  
Python爱好者社区  ·  王者归来!《动手学大模型》开源了。。。 ·  1 周前  
51好读  ›  专栏  ›  Python爱好者社区

最新!想学CPython,Python之父Guido亲上阵

Python爱好者社区  · 公众号  · Python  · 2020-02-14 17:30

正文



就在刚刚(2020年2月10日),Python之父Guido van Rossum在其个人Blog中发布了他对CPython学习的帮助教程。下面让我们一睹为快吧!



1

你需要了解的!


1、你必须知道C语言!

  • 大多数stdlib是用Python编写的,我们也需要doc帮助

2、你必须了解Git和GitHub!

  • 如果不会,请看这:
https://devguide.python.org/gitbootcamp/


3、你必须有10年以上的Python经验!

  • 开个玩笑


2

入门文档

核心教程,先从这里开始:


https://cpython-core-tutorial.readthedocs.io/en/latest/


同时大神告诉我们:要找到一个简单的问题,坚持是关键:-)


DevGuide:


▌https://devguide.python.org/


  • Fork the repo:https://devguide.python.org/#quick-reference
  • 学习Git:https://devguide.python.org/gitbootcamp/
  • 帮助:https://devguide.python.org/help/
    • Zulip:https://python.zulipchat.com/login/
    • Core mentorship:https://www.python.org/dev/core-mentorship/
    • IRC:  '#python-dev on freenode.net'


3

选择你的第一个项目

大神说:这取决于你的经验和自信程度!


寻找一个尚未解决的问题:


▌https://bugs.python.org/


4

Workflow

▌Git设置


1、如果你还没有GitHub账号,请登录GitHub.com


2、在GitHub上调用Python/CPython repo,点击Fork按钮(右上角):



3、在本地克隆你的fork:


`git clone [email protected]:YOURUSERNAME/cpython.git`
`cd cpython`


4、配置upstream remote,现在你可以用“git push”和“git pull”来push/pull你的fork:


git remote add upstream https://github.com/python/cpython/


5、创建一个分支工作


DON’T WORK ON MASTER!


git checkout upstream/master -b YOURBRANCHNAME


或者


git checkout origin/master -b YOURBRANCHNAME


Python构建设置


1、在Mac上,安装Xcode,如果还没有安装:


  • 在SPRINT之前做这件事,需要很长时间。
  • 打开Xcode一次,安装命令行工具(make, compiler等)
  • ./configure --with-pydebug
  • make(或者 make -j 以利用所有CPU)

编辑-测试-调试,C版本


1、编辑一个 .c 或 .h 文件等
2、make
3、./python.exe 给出交互提示
4、./python.exe -m test [flags] testname …
5、运行所有测试:./python.exe -m test (需要很长时间)


编辑-测试-调试,Python版本和C类似,没有make步骤)


1、编辑一个 .py 文件
2、./python.exe 给出交互提示
3、./python.exe Lib/test/regrtest.py [flags] testname …
4、运行所有测试:./python.exe Lib/test/regrtest.py(需要很长时间)


调试Python代码

1、最简单的:用 print()
2、其次,用 breakpoint()


▌调试C代码

1、如果你有Python代码来重现问题,请先尝试前面的部分(调试Python代码)。
2、最简单的:用 printf()
3、GDB (Linux):https://wiki.python.org/moin/DebuggingWithGdb

  • $ gdb ./python.exe

    (gdb) run SCRIPTNAME.py ARGUMENT …

  • $ gdb -ex r --args python SCRIPTNAME.py ARGUMENT …


4、lldb (Mac):

  • $ lldb ./python.exe

    (lldb) run SCRIPTNAME.py ARGUMENT …

  • $ lldb ./python.exe -- SCRIPTNAME.py ARGUMENT …

    (lldb) run


5、Windows:在Visual Studio中使用调试器(而不是VS代码)


▌https://docs.microsoft.com/en-us/visualstudio/python/debugging-mixed-mode-c-cpp-python-in-visual-studio?view=vs-2019

感谢阅读

推荐阅读:

1真实的上海IT圈:张江男vs漕河泾男

2:真实的北京IT圈:后厂村姑 vs 后厂村花?

3:为什么你的提问没人解答?

4:Python爱好者社区历史文章合集


好看请点这里~