Differences between distribute, distutils, setuptools and distutils2?

后端 未结 5 2021
别跟我提以往
别跟我提以往 2020-11-22 14:30

The Situation

I’m trying to port an open-source library to Python 3. (SymPy, if anyone is wondering.)

So, I need to run 2to3 automatically w

5条回答
  •  时光取名叫无心
    2020-11-22 15:19

    Updating this question in late 2014 where fortunately the Python packaging chaos has been greatly cleaned up by Continuum's "conda" package manager.

    In particular, conda quickly enables the creation of conda "environments". You can configure your environments with different versions of Python. For example:

    conda create -n py34 python=3.4 anaconda

    conda create -n py26 python=2.6 anaconda

    will create two ("py34" or "py26") Python environments with different versions of Python.

    Afterwards you can invoke the environment with the specific version of Python with:

    source activate

    This feature seems especially useful in your case where you are having to deal with different version of Python.

    Moreover, conda has the following features:

    • Python agnostic
    • Cross platform
    • No admin privileges required
    • Smart dependency management (by way of a SAT solver)
    • Nicely deals with C, Fortran and system level libraries that you may have to link against

    That last point is especially important if you are in the scientific computing arena.

提交回复
热议问题