Start Here
Thanks for buying an Early Access copy of CPython Internals: Your Guide to the Python 3 Interpreter and supporting Real Python! You’re awesome!
You can access additional resources, such as sample code and errata, at the following URL:
→ realpython.com/cpython-internals/resources/
Happy Pythoning!
FAQ
How will I receive updates?
You’ll always find the latest version available for download here on realpython.com.
Some of the PDF links don’t work? (macOS Preview PDF viewer)
In current versions (Dec 2020) of Preview, Safari, TexShop, and Skim, any #
symbols in link URLs are (incorrectly) converted to %23
when the link is clicked. This is a known issue with macOS’s PDFKit renderer and it will hopefully get fixed soon by Apple. As a workaround you can manually fix those URLs in the browser window by replacing the %23
with a #
in the URL bar, or you can use a different PDF viewer, like Adobe Acrobat.
How can I give feedback on the book?
We welcome ideas, suggestions, feedback, and the occasional rant about the book. Did you find a topic confusing? Or did you find an error in the text or code? Did we omit a topic you would love to know more about? Drop us a line!
Your feedback really helps make this book an even better learning resource for Pythonistas around the globe.
Whatever the reason, good or bad, please send in your feedback at the link below:
→ realpython.com/cpython-internals/feedback
Thank you for helping us make this book an even more valuable learning resource for the Python community.
bjornfick77 on June 3, 2020
i think it’s a bit too advanced for me but here goes :-) love this site and the content/materials are great
Peter on June 3, 2020
Just started working my way through the book at the moment. The part about setting up Visual Studio might be worth re-jigging, I got myself stuck when trying to compile only to find a short while later finding I need to run the bat file.
Loving the book so far though, already learned a fair bit, just reading the grammar section, i had no idea try had an else clause (never mind even knowing where to look to find the grammar).
Noah Altunian on June 3, 2020
I’ve read Real Python’s posts on the CPython source code. This is now taking it to the next level, and I couldn’t be more excited. 🙏
aamelgar on June 4, 2020
Do we get a physical copy?
Robert Armenta on June 4, 2020
I agree with aamelgar. Like the Python Tricks book (Which is awesome!) I would like a physical copy as well.
zeliwipin on June 4, 2020
it looks nice i will read it and keep you posted
drawdoowmij on June 5, 2020
Excited to get started on this book!
Ricky White RP Team on June 5, 2020
The Paperback version will be released at a later date when the book is out of early access. We’ll announce when it is available to order.
doni12voip on June 16, 2020
I need the Paperback please
Nick Dat Le on June 25, 2020
Great work Anthony et al! Just the resource I’ve been looking for :)
Curtis Bucher on July 13, 2020
If we already payed for the prerelease, will we get the paperback when it comes out?
Dan Bader RP Team on July 13, 2020
Once we’re out of Early Access with the digital edition we are going to get a paperback version ready for publishing. When the paperback version is released it will be a separate purchase from Amazon or your favorite local book store.
dgrunwal on Aug. 15, 2020
Will work through the book and give comments and learn CPython of course.
seyoung on Aug. 18, 2020
Thank you. It was a pleasant read. I’d be happy to read more on different modules in the standard library :)
Mauricio on Sept. 12, 2020
Hi. Hate to be the first one. I’m stuck. I cannot get to call ./configure
properly. Have done autoreconf -i
first and still nothing. Error is:
checking for git... found
configure: error: cannot run /bin/bash ./config.sub
Also, I am on WSL 2, can’t say if it’s part of the issue.
When I run make -j2 -s
I get error no targets.
Anyone help?
Mauricio on Sept. 13, 2020
UPDATE: I have done some progress. Doing dos2unix **
helped ./configure
do its thing.
However, it doesn’t make the Makefile
as ./configure
still errors out. It says, at the very end of the ./configure process "mv: cannot stat 'config.c': No such file or directory"
Will continue trying, however, any help is appreciated.
Mauricio on Sept. 13, 2020
EDIT to UPDATE: I also had to pass the build type in order to ./configure
commence its process, --build=i689-pc-linux
Mauricio on Sept. 13, 2020
SOLUTION: I deleted everything and cloned it again. This time, I used the force (-f
) option when doing the git checkout. Then, regular ./configure
and make -j8
succeeded.
oglop on Dec. 1, 2020
Great information and AWESOME formatting! This is how modern tech books should look. So easy to read the code examples. Thanks for the book and awesome site!
You must own this product to join the conversation.
Guy Dubost on June 2, 2020
No you guys are awesome. Keep up