Howtopython Documentation Release 0.0.0

Howtopython Documentation Release 0.0.0

howtopython Documentation Release 0.0.0 Kenneth Reitz Jul 09, 2018 Contents: 1 Getting Started with Python 3 1.1 Twitter Accounts to Follow.......................................3 1.2 Getting Python Installed.........................................4 1.3 Understanding Dependencies......................................4 1.4 Installing Pipenv.............................................4 1.5 Using Pipenv...............................................4 1.6 Understanding Source Control......................................5 2 The Interpreter 7 2.1 Running a Script.............................................7 2.1.1 Dependencies..........................................7 2.2 Python Interpreter Tricks.........................................8 2.2.1 _ Trick.............................................8 2.2.2 Bytecode Trick.........................................8 2.2.3 Interactive Mode Trick.....................................9 3 Learning the Basics 11 3.1 The BDFL................................................ 11 3.2 Python Software Foundation....................................... 11 3.3 Python Conferences........................................... 11 3.4 Python User Groups........................................... 11 3.5 PEPs................................................... 12 3.5.1 Notable PEPs.......................................... 12 3.5.2 Submitting a PEP........................................ 12 4 Text Editors 13 4.1 Sublime Text 3.............................................. 14 4.1.1 Sublime Text 3 Plugin Recommendations........................... 14 4.1.2 Additionally Useful Plugins.................................. 14 4.1.3 Sublime Text 3 Tricks...................................... 15 4.2 Microsoft Visual Studio Code (VS Code)................................ 16 4.2.1 Microsoft VS Code Extensions Recommendations...................... 16 4.2.2 Additionally Helpful Plugins.................................. 16 4.2.3 Microsoft VS Code Tricks................................... 17 4.2.4 Microsoft VS Code Launcher.................................. 17 4.2.5 Rulers.............................................. 17 i 5 IDEs 19 5.1 PyCharm................................................. 19 6 Indices and tables 21 ii howtopython Documentation, Release 0.0.0 This guide exists to teach you the very basics of how to effectively use Python and its tooling, as a programming language. Contents: 1 howtopython Documentation, Release 0.0.0 2 Contents: CHAPTER 1 Getting Started with Python Welcome to Python! Not only are you entering the new world of a programming language, but you are also entering an ecosystem of professional and hobbyist developers from literally every corner of the globe coming together to make the world a better place through software (and make a little bit of money at the same time)! Of course, that last part is optional — you are totally free to code Python on your own and chose not to interact with anyone within the community — but, you’ll be missing out on the best part of what makes Python Python! 1.1 Twitter Accounts to Follow Twitter is an excellent way to keep in touch with what’s going on with the Python community. Here is a very non–exhaustive (but evolving) list of some suggetions of who to follow on Twitter, to get started: • The Python Software Foundation (@ThePSF) • Kenneth Reitz (@kennehreitz) — Myself, the author of this website. I often tweet about Python–related topics, as well as music, photography, and other side-projects I have going on. • Guido Van Rossum (@gvanrossum) — The creator of Python itself. Doesn’t tweet much, but is occassionally accessable. Very kind soul. Keep in mind, he gets a lot of attention. • Nick Coghlan (@ncoghlan_dev) — Core Python developer, very active on Twitter, has very thoughtful thoughts about Open Source and the direction of Python in general. • Lynn Root (@roguelynn) — Closely related to PyLadies. • Armin Ronacher (@mitsuhiko) — The creator of Flask, Click, Sphinx, and many other wonderful Python utilities we all know and love. Mostly found writing iOS and Rust code nowadays. • Corey Benfield (@Lukasaoz) • Alex Gaynor (@alex_gaynor) • Yarko T. (@yarkot) • David Beazley (@dabeaz) 3 howtopython Documentation, Release 0.0.0 • Brett Cannon (@brettsky) • Danny Greenfield (@pydanny) • Raymond Hettinger (@raymondh) • Jeff Forcier (@bitprophet) — The creator of Fabric, and maintainer of many open source libraries. 1.2 Getting Python Installed Of course, the first thing you need to do is install Python on your machine. If you go to the Python.org website, you may be a bit confused about which version of Python you should be using. The correct answer is: Use the latest version of Python 3. As of the time of this writing, that is version 3.7.0. Here are some great installation guides for various system types: • Installing Python 3 Properly on MacOS • Installing Python 3 Properly on Linux • Installing Python 3 Properly on Windows 1.3 Understanding Dependencies Applications, scripts, and utilities built with Python typically have dependencies attached to them, which are Python modules they require to run/operate with, that need to be installed before you can use the software. A package manager, like Pipenv (which we’ll cover shortly), or the lower–level pip (in conjunction with virtualenv can be used to install and manage these dependencies, which are typically hosted on either on PyPi (The Python Package Index) or GitHub. You’ll typically see these required packages (and any specific versions) declared in one of the following files: Pipfile, requirements.txt, or setup.py. 1.4 Installing Pipenv The next step is to install Pipenv, our packaging tool of choice. Package managers allow us to easily manage (resolve, install, uninstall) dependencies and virtual environments for projects. Python.org has a great guide available for installing Pipenv that also covers its basic usage. If you’re on a Mac, and have homebrew installed, the following command will suffice: $ brew install pipenv Here’s a great blog post covering the basic concepts presented by Pipenv, and why it’s an excellent choice for your first project. 1.5 Using Pipenv First, $ cd into your new project directory (after you $ mkdir and $ git init it, of course), and simply run $ pipenv install requests to install the requests library, which is one of our favorites. 4 Chapter 1. Getting Started with Python howtopython Documentation, Release 0.0.0 Then, run $ pipenv shell to run a shell that will have a $ python available in which import requests will function properly. Pretty simple :) For further instructions, check out the Pipenv documentation. 1.6 Understanding Source Control In the Python community, we typically use git, a version control system. Tools, like git, are used to store all changes to code files, so you can go back to any point in history and reference yourself later if needed. They are also very useful for collaborating with others. Git is a bit tricky to get started with, but here’s a great guide that will get you setup and teach you the basics. It’s a requirement if you’re ever going to work with Python in a professional environment. 1.6. Understanding Source Control 5 howtopython Documentation, Release 0.0.0 6 Chapter 1. Getting Started with Python CHAPTER 2 The Interpreter Python is an interpreted language, similar in the way to how Java operates, with bytecode. However, unlike Java, you will normally work with *.py files directly, instead of compiled bytecode files (*.pyc). To fire up the Python interpreter, open up your terminal/console application, and type python or python3 (depend- ing on your installation). You should see something that looks like this: Python 3.6.3 (default, Oct3 2017, 21:45:48) [GCC 7.2.0] on linux Type"help","copyright","credits" or "license" for more information. >>> This is known as the Python interpreter, and is a REPL (Read–Eval–Print Loop). This allows you to type Python code, import modules, and interact with code you’ve written without having to write files to disk, in an interactive manner. This interactive mode is one of Python’s super-powers, compared some other programming languages. 2.1 Running a Script To run a Python script (that you’ve either written or downloaded from the internet), simply run the following: $ python3 name-of-script.py This will tell Python to load and execute the script provided. 2.1.1 Dependencies Sometimes, a script will not run because it does not have the necessary dependencies installed. You’ll normally see this come across as a ModuleNotFoundError, embedded within a confusing (if you’re new) exception message: Traceback (most recent call last): File"name-of-script.py", line1, in <module> (continues on next page) 7 howtopython Documentation, Release 0.0.0 (continued from previous page) import requests ModuleNotFoundError: No module named'requests' To resolve those dependencies (in this case, requests), ensure you have Pipenv installed (covered in the previous section), and run the following: $ pipenv install requests Note: If you downloaded a directory of files, check for a Pipfile or a requirements.txt file in the root directory. If it is present, simply running $ pipenv install will install all of the dependencies needed, without you needing to specify them. This will install requests into a virtual environment. Then, you have two options for running your script: The first option is to use $ pipenv run: $ pipenv run python name-of-script.py The second option is to run $ pipenv shell, which will spawn a new shell where python is the one from

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    27 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us