There are many articles of the same type, but now that they have a mix of minor tools and the differences in roles are difficult to understand, I've reorganized them briefly.
Rewrote the comparison table by Pyflow. pip and venv are included as standard since Python 3.4.
tool | Package installation | Dependency resolution | Python version control | Virtual environment construction | Build Publish |
---|---|---|---|---|---|
pip | 〇 | ||||
venv | 〇 | ||||
Anaconda | 〇 | 〇 | 〇 | 〇 | |
pyenv(-virtualenv) | 〇 | (〇) | |||
Pipenv | 〇 | 〇 | 〇 | ||
Poetry | 〇 | 〇 | 〇 | 〇 | |
Pyflow | 〇 | 〇 | 〇 | 〇 | 〇 |
Anaconda
--There is a suspicious specification that overwrites the PATH, which conflicts with Homebrew and makes it difficult to uninstall.
--Similar to venv, you need to ʻactivateeach time you use a virtual environment. --Because of these problems, it is better to use via pyenv --When the package cannot be found by
conda install`, the trouble of searching with anaconda cloud occurs.
--Use when you want to use the package recommended by Anaconda
--The strongest when it comes to Python version control --Can handle Anaconda and PyPy --Pyenv-Virtual environment management by virtualenv is also very easy --Easy to reuse virtual environment between projects? -(I don't know the Windows environment)
Pipenv ――The operation is getting slower and slower ... --Use with pyenv if you want to use another version of Python
Poetry ――It looks good when you plan to distribute the code --Another version of Python (ry
Pyflow ――It feels like it's still under development
Recommended Posts