def test_pip_list(self): li = get_packages_list() dt = package2dict(li[0]) avoid = {'py_version'} empty = [] for k, v in dt.items(): if k not in avoid: if k is None: empty.append(k) self.assertEmpty(empty) self.assertNotEmpty(li)
def list_of_installed_packages(): """ calls ``pip list`` to retrieve the list of packages @FAQ(Obtenir des informations sur les packages installés) Le module `pip <https://pip.pypa.io/en/stable/>`_ retourne des informations sur n'importe quel module installé, sa version, sa license :: pip show pandas On peut également l'obtenir depuis l'interpréteur python :: import pip pip.main(["show", "pandas"]) Exemple :: Name: pandas Version: 0.16.0 Summary: Powerful data structures for data analysis, time series,and statistics Home-page: http://pandas.pydata.org Author: The PyData Development Team Author-email: [email protected] License: BSD Location: c:\python34_x64\lib\site-packages Requires: python-dateutil, pytz, numpy On utilise également ``pip freeze`` pour répliquer l'environnement dans lequel on a développé un programme. `pip freeze <https://pip.pypa.io/en/latest/reference/pip_freeze.html>`_ produit la liste des modules avec la version utilisée :: docutils==0.11 Jinja2==2.7.2 MarkupSafe==0.19 Pygments==1.6 Sphinx==1.2.2 Ce qu'on utilise pour répliquer l'environnement de la manière suivante :: pip freeze > requirements.txt pip install -r requirements.txt Cette façon de faire fonctionne très bien sous Linux mais n'est pas encore opérationnelle sous Windows à moins d'installer le compilateur C++ utilisée pour compiler Python. @endFAQ """ from pyquickhelper.pycode.pip_helper import get_packages_list return get_packages_list()
def test_pip_list(self): fLOG( __file__, self._testMethodName, OutputPrint=__name__ == "__main__") li = get_packages_list() dt = package2dict(li[0]) avoid = {'py_version'} empty = [] for k, v in dt.items(): if k not in avoid: if k is None: empty.append(k) self.assertEmpty(empty) self.assertNotEmpty(li)