Skip to content

Instantly share code, notes, and snippets.

@xqm32
Last active December 6, 2023 09:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save xqm32/275bc0d0dfe27cc1ae4426de6e596422 to your computer and use it in GitHub Desktop.
Save xqm32/275bc0d0dfe27cc1ae4426de6e596422 to your computer and use it in GitHub Desktop.
Python Project Practice

This practice is for Unix

Python Environment Preparation

Tools Installation

  1. Use Homebrew to install Pipx
  2. Use Pipx to install Poetry and Tox
  3. Use Homebrew (or official installer) to install Pyenv and Pyenv-virtualenv

Python Installation

  1. Use Pyenv install Python versions
  2. Run pyenv global 3.a 3.b 3.c to set global Python versions(plural)1

Project Development

With Poetry

  1. Run poetry new PROJECT_NAME to create a new Poetry project
  2. Run pyenv local 3.a 3.b 3.c to set multiple local Python versions
  3. Run poetry env use 3.a to create a Poetry virtual environment
  4. [Optional] Run poetry install to install current package into virtual environment
  5. Develop

With Pyenv-virtualenv

  1. Run pyenv virtualenv 3.a PROJECT_NAME to create a new virtual environment
  2. Run pyenv local PROJECT_NAME 3.a 3.b 3.c to set multiple local Python versions
  3. [Optional] Run pip install --editable . to install current package into virtual environment
  4. Develop

src Layout

Why can setuptools detect src layout?

Reference

Footnotes

  1. https://github.com/pyenv/pyenv/blob/master/COMMANDS.md#pyenv-global

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment