Quel est le meilleur moyen d'installer des paquets Python dans Ubuntu 11? Je suis un récent converti à Ubuntu et veux apprendre les meilleures pratiques.
Pour le contexte, je cherche à installer le paquet tweeststream, mais je ne l’ai pas vu dans mon gestionnaire de paquets Synaptic. De plus, je suis très novice en programmation, mais je peux généralement suivre les exemples de code.
Réponses:
Je pense que le meilleur moyen pour vous serait d'installer un système de packaging Python comme "python-pip". Vous pouvez l'installer avec Synaptic ou le Centre logiciel Ubuntu.
Pip vous permettra d’installer et de désinstaller facilement les paquets Python, tout simplement
pip install package
. Dans votre cas, ce serait quelque chose comme ça depuis le terminal:la source
sudo pip <anything>
devrait être utilisé très soigneusement. Etant donné qu’iltweetstream
ne se trouve pas dans le Centre logiciel Ubuntu , je recommande l’utilisation d’un virtualenv . tweetstreamsetup.py
nécessiteanyjson
ce qui est un paquet Ubuntu . Ne pas installer tweetstream dansvirtualenv
certaines applications Ubuntu dépendantesanyjson
peut échouer. Dépanner dur.sudo pip
sur Ubuntu. @MarkMikofski: vous n'avez pas besoin de virtualenv (sauf si vous le souhaitez pour une raison particulière).python -mpip install --user package-name
pouvez installer le packagepackafe-name
pour l'utilisateur actuel. S'il existe des dépendances complexes (grandes extensions C); vous pouvez les installer en utilisantapt-get
, pour éviter d'installer des dépendances de construction sauf si cela est nécessaire.updated: 2019-05-11: Cet article mentionne principalement
virtualenv
, mais selon la documentation de Python sur l'installation de module , puisque Python 3.5 "l'utilisation devenv
est désormais recommandée pour la création d'environnements virtuels", alors qu'ilvirtualenv
s'agit d'une alternative pour les versions de Python antérieures à 3.4 .Mise à jour: 17/08/2018: depuis Conda-4.4.0 utilisation
conda
àactivate
Anaconda sur toutes les plateformesmis à jour: 2017-03-27: PEP 513 -
manylinux
fichiers binaires pour PyPIMis à jour le: 19-08-2016: Option Anaconda Continuum
C'est un peu une copie de easy_install / pip ou d'apt-get .
Pour les packages Python globaux , utilisez le Centre de logiciel Ubuntu, apt, apt-get ou synaptic.
Ubuntu utilise Python pour de nombreuses fonctions importantes. Par conséquent, une interférence avec Python peut corrompre votre système d'exploitation. C'est la principale raison pour laquelle je ne l' utilise
pip
sur mon système Ubuntu, mais je l' utilise soit Ubuntu Software Center, synaptique ,apt-get
ou le plus récent justeapt
, tous par défaut installer des paquets à partir du référentiel Ubuntu . Ces paquets sont testés, généralement pré-compilés pour une installation plus rapide et finalement conçus pour Ubuntu. De plus, toutes les dépendances requises sont également installées et un journal des installations est maintenu afin de pouvoir être annulé. Je pense que la plupart des paquets ont des pensions du Launchpad correspondantes, ce qui vous permet de classer les problèmes.Une autre raison d'utiliser l'un ou l'autre des paquets Ubuntu est que parfois, ces paquets Python ont des noms différents selon l'endroit où vous les avez téléchargés. Python-chardet est un exemple de paquet qui s'appelait autrefois dans PyPI et dans le référentiel Ubuntu. Par conséquent, vous
pip install requests
ne réaliserez pas que chardet est déjà installé sur votre système car la version d’Ubuntu porte un nom différent. Par conséquent, installez une nouvelle version qui corrompra votre système d’une manière mineure mais insignifiante, mais pourquoi feriez-vous cela.En général, vous souhaitez uniquement installer du code de confiance dans votre système d'exploitation. Donc, vous devriez être nerveux à propos de la frappe
$ sudo pip <anything-could-be-very-bad>
.Enfin, certaines choses sont simplement plus faciles à installer avec les paquets Ubuntu. Par exemple si vous essayez
pip install numpy
d’installer numpy & scipy sauf si vous avez déjà installé gfortran, atlas-dev, blas-dev et lapack-dev, vous verrez un flot infini d’erreurs de compilation. Cependant, installer numpy & scipy via le référentiel Ubuntu est aussi simple que ...Vous avez de la chance, car vous utilisez Ubuntu, l’une des distributions les plus largement prises en charge et les plus mises à jour. Il est fort probable que tous les packages Python dont vous aurez besoin se trouvent dans le référentiel Ubuntu et sont probablement déjà installés sur votre ordinateur. Et tous les 6 mois, un nouveau cycle de paquets sera publié avec la dernière distribution d'Ubuntu.
Si vous êtes sûr à 100% que le paquet n’interférera en aucune manière avec votre système Ubuntu, vous pouvez l’installer à l’aide de pip et Ubuntu aura la gentillesse de garder ces paquets séparés des paquets de distribution en plaçant les paquets de distribution dans un dossier appelé
dist-packages/
. Le référentiel Ubuntu a à la fois pip, virtualenv et setuptools. Cependant, je souscris à la suggestion de Wojciech d’utiliser virtualenv.Pour les projets personnels Python, utilisez pip and wheel dans un environnement virtuel
Si vous avez besoin de la dernière version ou si le module ne se trouve pas dans le référentiel Ubuntu, démarrez virtualenv et utilisez pip pour installer le paquet. Bien que pip et setuptools aient fusionné, le pip IMO est préférable à easy-install ou distutils, car il attend toujours que le paquet soit complètement téléchargé et construit avant de le copier dans votre système de fichiers, ce qui facilite la mise à niveau ou la désinstallation. À bien des égards, il ressemble à apt-get, en ce sens qu'il gère généralement bien les dépendances. Cependant, vous
devrezpeut- être gérer certaines dépendances vous-même, mais depuis l' adoption de PEP 513, il existe désormais desmanylinux
fichiers binaires dans Python Package Index (PyPI) pour les distributions Linux populaires telles que Ubuntu et Fedora .Par exemple, comme mentionné ci-dessus pour NumPy et SciPy, assurez-vous que vous avez installé gfortran, atlas-dev, blas-dev et lapack-dev à partir du référentiel Ubuntu.Par exemple, NumPy et SciPy sont maintenant distribués pour Ubuntu sous forme demanylinux
roulettes utilisant par défaut OpenBLAS. d'ATLAS. Vous pouvez toujours les construire à partir des sources en utilisant les options pip--no-use-wheel
ou--no-binary <format control>
.Reportez-vous à la section suivante, "Vous n’êtes pas
sudoers
", ci-dessous pour installer les versions mises à jour de pip, setuptools, virtualenv ou wheel sur votre profil personnel à l’aide du--user
schéma d’installation avec pip. Vous pouvez l’utiliser pour mettre à jour pip pour votre usage personnel, comme l’a indiqué JF Sebastian dans son commentaire pour une autre réponse . REMARQUE: l'-m
est vraiment nécessaire que sur MS Windows lors de la mise à jour pip .Les nouvelles versions de pip mettent automatiquement en cache les roues, ce qui suit n’est utile que pour les anciennes versions de pip. Étant donné que vous risquez de devoir installer plusieurs fois, envisagez d'utiliser une roue avec pip pour créer une timonerie. Wheel est déjà inclus dans la
virtualenv
v13.0.0. Par conséquent, si votre version devirtualenv
est trop ancienne, vous devrez peut-être installer Wheel en premier.Cela créera des fichiers de roue binaire
<cwd>/wheelhouse
, à utiliser-d
pour spécifier un répertoire différent. Maintenant, si vous démarrez un autre virtualenv et que vous avez besoin des mêmes packages que ceux que vous avez déjà construits, vous pouvez les installer à partir de votre timonerie à l’aide depip install --find-links=<fullpath>/wheelhouse
Lisez la section Installation de modules Python dans la documentation Python et Installation de packages sur la page principale de Python Package Index . Aussi pip , venv , virtualenv et wheel .
Si vous n'êtes pas dans
sudoers
etvirtualenv
n'est pas installé.Une autre option consiste à utiliser un environnement virtuel ou, si vous utilisez un partage Linux sans privilèges root, à l'aide du schéma d'installation
--user
ou du--home=<wherever-you-want>
schéma d'installation Python avec Pythondistutils
installera les packages à la valeursite.USERBASE
ou à l'endroit souhaité. Les nouvelles versions de pip ont également une--user
option. Ne pas utilisersudo
!Si votre version Linux de pip est trop ancienne, vous pouvez alors transmettre les options de configuration,
--install-option
ce qui est utile pour transmettre des options personnalisées à certainssetup.py
scripts de certains packages générant des extensions, telles que la définition du fichierPREFIX
. Vous devrez peut-être simplement extraire la distribution et l'utiliserdistutils
pour installer le paquet à l'ancienne, en le saisissantpython setup install [options]
. La lecture d'une partie de la documentation d'installation et de ladistutils
documentation peut aider.Python est assez gentil pour ajouter
site.USERBASE
de l’PYTHONPATH
avance à toute autre chose, alors les changements ne vous affecteront que. Un endroit populaire pour--home
est~/.local
. Consultez le guide d'installation du module Python pour connaître la structure de fichier exacte et plus précisément l'emplacement de vos packages de site. Remarque : si vous utilisez le--home
système d'installation, vous devrez peut - être ajouter à laPYTHONPATH
variable d'environnement à l' aideexport
de votre.bashrc
,.bash_profile
ou dans votre shell pour vos paquets localisés à être disponibles en Python.Utilisez Continuum Anaconda Python pour des projets mathématiques, scientifiques, de données ou personnels
Si vous utilisez Python pour les mathématiques, les sciences ou les données, alors IMO est une très bonne option: la distribution Anaconda-Python ou la distribution plus élémentaire miniconda distribuée par Anaconda, Inc. (anciennement appelée Continuum Analytics ) . Bien que quiconque puisse tirer parti d’Anaconda pour des projets personnels, l’installation par défaut comprend plus de 500 logiciels de mathématiques et de sciences tels que NumPy, SciPy, Pandas et Matplotlib , tandis que miniconda n’installe que Anaconda-Python et le gestionnaire de l’environnement. Anaconda n’installe que dans votre profil personnel, c’est -à- dire:
/home/<user>/
etvous permet de modifieroud’ajouter le chemin d’Anaconda à votre profil personnel dans votredossier personnelrecommandations matière d'approvisionnement.~/.bashrc
~/.bash_profile
$PATH
conda.sh
dans votre~/.bashrc
qui vous permetconda activate <env|default is base>
de démarrer anaconda - cela ne vous concerne que - votre chemin système reste inchangé . Par conséquent, vous n'avez pas besoin d'accéder à la racine ousudo
d'utiliser Anaconda! Si vous avez déjà ajouté Anaconda-Python, miniconda ou conda à votre chemin personnel, supprimez l'PATH
exportation de votre~/.bashrc
et mettez à jour la nouvelle recommandation afin que votre système Python soit à nouveau en premier.Ceci est un peu similaire à l'
--user
option que j'ai expliquée dans la dernière section, sauf qu'elle s'applique à Python dans son ensemble et pas seulement aux packages. Par conséquent, Anaconda est complètement séparé de votre système Python , il n’interférera pas avec votre système Python et vous seul pouvez l’utiliser ou le modifier. Comme il installe une nouvelle version de Python et de toutes ses bibliothèques, vous aurez besoin d'au moins 200 Mo d'espace disque, mais il est très astucieux de mettre en cache et de gérer les bibliothèques, ce qui est important pour certaines choses intéressantes que vous pouvez faire avec Anaconda.Anaconda gère une collection de fichiers binaires et de bibliothèques Python requis par les dépendances dans un référentiel en ligne (anciennement appelé binstar ) , et héberge également les packages utilisateur en tant que "canaux" différents. Le gestionnaire de packages utilisé par Anaconda,
conda
installe par défaut les packages à partir d'Anaconda, mais vous pouvez signaler un "canal" différent à l'aide de l'-c
option.Installez les paquets avec
conda
juste commepip
:Mais
conda
peut faire beaucoup plus! Il peut également créer et gérer des environnements virtuels, tout commevirtualenv
. Par conséquent, puisque Anaconda crée des environnements virtuels, lepip
gestionnaire de paquets peut être utilisé pour installer des paquets à partir de PyPI dans un environnement Anaconda sans root ousudo
. Ne pas utilisersudo
avec Anaconda! Attention! Soyez prudent lorsque vous mixezpip
etconda
dans un environnement Anaconda, car vous devrez gérer les dépendances des paquets avec plus de soin. Une autre optionpip
dans un environnement conda consiste à utiliser le canal conda-forge, mais il est également préférable de le faire dans un environnement de conda frais avec conda-forge comme canal par défaut. En dernier recours, si vous ne trouvez aucun paquet ailleurs que sur PyPI, envisagez d’utiliser--no-deps
puis d’installer manuellement les dépendances restantesconda
.Anaconda est également similaire à certains égards à Ruby RVM si vous connaissez cet outil. Anaconda
conda
vous permet également de créer des environnements virtuels avec différentes versions de Python . Par exemple :conda create -n py35sci python==3.5.2 numpy scipy matplotlib pandas statsmodels seaborn
créera une pile scientifique / de données avec Python-3.5 dans un nouvel environnement appelépy35sci
. Vous pouvez changer d’environnement en utilisantconda
. Depuis Conda-4.4.0, cela est maintenant différent devirtualenv
qui utilisesource venv/bin/activate
, mais avant Conda-4.4.0 lesconda
commandes étaient les mêmes quevirtualenv
et également utilisésource
:Mais attendez il y a plus! Anaconda peut également installer différentes langues telles que R pour la programmation statistique à partir du canal Anaconda
r
. Vous pouvez même configurer votre propre canal pour télécharger des distributions de paquetages conçues pour conda . Comme mentionné précédemment, conda-forge gère des versions automatisées de nombreux packages sur PyPI sur le canal conda-forge Anaconda .Épilogue
Il existe de nombreuses options pour la maintenance de vos projets Python sous Linux en fonction de vos besoins et de votre accès. Cependant, s’il ya quelque chose que je retiens de cette réponse, j’espère que vous ne devriez presque jamais avoir besoin de l’utiliser
sudo
pour installer des paquets Python . L'utilisation desudo
devrait vous faire sentir que quelque chose ne va pas. Tu étais prévenu.Bonne chance et bon codage!
la source
sudo
interagissant avecpip
. Superbe rédaction, merci pour cette information.pip install numpy
devrait installer toutes les dépendancespip install <package>
installera uniquement les dépendances de paquet Python listées dans lainstall_requires
section desetup.py
. Par exemple: l'installation de Jupyter n'installera pas la bibliothèque Haskell pandoc pour exporter des blocs-notes Jupyter au format LaTeX, etc.conda install <package>
, toutes les dépendances, y compris C / C ++, FORTRAN, etc., y compris les bibliothèques Haskell, seront probablement installées, car conda ne gère pas uniquement les packages Python comme pip, il gère les environnements. Donc, si vous avez Anaconda ou miniconda,conda install Jupyter
installe alors tout dans le fichier de la recettemeta.yml
, y compris la bibliothèque pandoc Haskell . Pour plus d'informations, voir PyPAOutre l'ajout de Novarchibald, il est généralement judicieux de créer un environnement virtuel pour votre projet python et d'installer des dépendances à l'intérieur. Cela vous permet de mieux contrôler les dépendances et leurs versions. Pour configurer un environnement virtuel, entrez:
Ensuite, activez-le avec:
À ce stade, tout ce que vous installez avec pip sera conservé dans cet environnement virtuel. Si vous souhaitez installer quelque chose de manière globale, vous devez d'abord quitter virtualenv avec:
Vous pouvez en savoir plus sur virtualenv ici .
la source
virtualenv
options--no-site-packages
et--distribute
sont obsolètes de nos jours et n’ont plus d’effet.En plus de la réponse Zetah'a, la commande pour installer python-pip depuis un terminal est la suivante:
la source
Essayez ceci Un framework d’interface graphique pour PIP développé avec PyQt4
Un framework d'interface graphique pour PIP développé en utilisant PyQt4
L'écran de démarrage
L'écran de démarrage contient des options permettant à un utilisateur de sélectionner le processus qu'il souhaite exécuter.
On peut aussi spécifier la version de python sur laquelle il souhaite que les opérations soient effectuées.
Le menu Fichier contient les options "Quitter" (raccourci: Ctrl + Q) et "Actualiser les listes" pour actualiser les fichiers de ressources contenant les données du package.
L'écran d'installation
L’écran d’installation comporte une barre de recherche que l’utilisateur peut utiliser pour rechercher et installer les packages souhaités.
L'écran de mise à jour
L'écran de mise à jour affiche la liste des packages obsolètes et pouvant être mis à niveau.
Le programme de désinstallation
L'écran de désinstallation affiche la liste des packages installés sur le système de l'utilisateur et pouvant être désinstallés.
La fenêtre de progression
La fenêtre de progression est un widget de terminal intégré à PIP-GUI qui affiche les processus en cours d'exécution.
la source