# Python Cheatsheet ## HTTP Server - Simple HTTP server: - Python 2: `python2 -m SimpleHTTPServer 8080` - Python 3: `python3 -m http.server 8080` - Download from http server: - `wget http://xxx.xxx.xxx.xxx:8080/path/to/file` - If you don't have permission to download a file try downloading to the /tmp folder. ## Upgrading to more stable shell `python -c 'import pty; pty.spawn("/bin/bash")'` ## **Python venv** 1. Create a virtual environment: `python3 -m venv /path/to/new/virtual/environment` 2. Active virtual environment: `source myenv/bin/activate` 3. Deactivate virtual environment: `deactivate` ## **Wheel files** Python wheel file or in abbreviation .whl file is a specially formatted zip archive as a Python built-package. It contains all the installation files and could be installed by only unpacking the file. ### **Installing a wheel file** `pip install file.whl` ## **Pip** Download wheel files for module and it's dependencies. `pip download $moduleName` ## **ipdb** ### Using ipdb (built-in Python debugger) 1. Navigate to the directory containing your script. 2. Run your script with the Python debugger by typing: `python -m pdb your_script.py` 3. The debugger will pause at the first line of your script. You can then use various pdb commands to step through the code, set breakpoints, inspect variables, etc. #### Basic Commands - `import pdb; pdb.set_trace()` or `breakpoint()` - Set a breakpoint in your code - `n` (next) - Execute the current line and move to the next line - `s` (step) - Step into a function call - `c` (continue) - Continue execution until the next breakpoint - `p variable_name` - Print the value of a variable - `l` (list) - List the source code around the current line - `q` (quit) - Quit the debugger #### Navigation - `u` (up) - Move up one level in the call stack - `d` (down) - Move down one level in the call stack - `w` (where) - Print the call stack #### Breakpoints - `b file:line` - Set a breakpoint at the specified line - `b function` - Set a breakpoint at the first line of the function - `cl` (clear) - Clear all breakpoints - `break`: List all breakpoints - `disable bp_number`: Disable breakpoint - `enable breakpoint_number`: Enable breakpoint - `clear file:line`: Remove breakpoint #### Other Useful Commands - `a` (args) - Print the argument list of the current function - `pp expression` - Pretty-print the value of an expression - `alias newname command` - Create an alias for a command - `!statement` - Execute a Python statement - `run` - Restart the debugged script - `r` (return) - Continue execution until the current function returns ## Poetry ![[Python Poetry]] ![[Using API Keys in Python]]