Python
Recommended packages:
pipenv | installs packages in a virtual python environment and maintains a Pipfile with all requirements |
Requirements / Dependencies
pip
venv
pip-tools
pyenv
conda
pipenv – packaging and development workflow
poetry – packaging and development tool, pretty similar to pipenv but faster dependency resolution
Docker
Articles
Shebang
Has to be on the first line of every executable script so the interpreter can be found. Correct Shebang for Python 3 is:
#!/usr/bin/env python3
Types
mypy is an optional type checker for Python
Python: better typed than you think – mypy assisted error handling, exception mechanisms in other languages, fun with pattern matching and type variance (Dima Gerasimov, 2019)
-
-
Libraries
requests – "HTTP for humans" – HTTP connections and data retrieval
PyMoo – single- and multi-objective algorithms and features related to multi-objective optimization such as visualization and decision making.
Scrapy – fast high-level web crawling & scraping framework
Altair – declarative visualisation.
web frameworks
dos and don'ts
what you should NOT do with Python
cool projects made with Python
learning Python
CodeCombat – Coding game where you can learn Python and
JS by programming the moves of an RPG character.
Troubleshooting
/usr/bin/env: 'python3\r': No such file or directory
Line endings are in Windows format (CRLF
/ \r\n
) and not Linux/Unix format (LF
/ \n
). Fix this with dos2unix
or your text editor's save options.
error: option --single-version-externally-managed not recognized
--single-version-externally-managed
is an option used for Python packages instructing the setuptools
module to create a Python package which can be easily managed by the host's package manager if needed.
Fedora / CentOS 7+:
dnf in python3-setuptools python3-wheel
others:
pip install -U setuptools wheel