2017-05-26 1 views
0

Est-il possible de mettre à jour un paquet installé avec apt-get, situé dans/usr/lib /, si ce paquet a une version plus récente en pypi mais pas dans les dépôts Ubuntu standard vu par apt?Mettre à niveau un paquet Python installé dans apt/usr/lib?

Je suppose que c'est dangereux car cela peut casser les dépendances, mais c'est juste pour savoir.

+1

demander google pour 'python virtualenv' – gboffi

+0

Cela permettrait d'éviter le risque de rupture des dépendances. – gonczor

Répondre

0

Oui, c'est.

désinstaller Flask

$ sudo apt-get remove python-flask 

Je ne l'ai pas:

$ python 
Python 2.7.13 (default, Jan 19 2017, 14:48:08) 
[GCC 6.3.0 20170118] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import flask 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named flask 

Je l'installe

$ sudo apt-get install python-flask 
$ python 
Python 2.7.13 (default, Jan 19 2017, 14:48:08) 
[GCC 6.3.0 20170118] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import flask 
>>> flask.__version__ 
'0.12' 

Double-check:

$ pip list -o | grep Flask 
DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning. 
Flask (0.12.1) - Latest: 0.12.2 [wheel] 

Mise à niveau:

$ sudo pip install --upgrade Flask 
... 
Successfully installed Flask-0.12.2 Jinja2-2.9.6 MarkupSafe-1.0 Werkzeug-0.12.2 click-6.7 itsdangerous-0.24 

$ python 
Python 2.7.13 (default, Jan 19 2017, 14:48:08) 
[GCC 6.3.0 20170118] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import flask 
>>> flask.__version__ 
'0.12.2' 

Je vois que j'ai un problème avec le contrôle de pépin, cependant:

$ pip list -o | grep Flask 
DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning. 
Flask (0.12.1) - Latest: 0.12.2 [wheel] 

donc je dois avoir des liens ou quelque chose de cassé, mais cette question est encore en vie, même si je utilisez apt-get remove. Dans l'ensemble, je suis en mesure d'importer une version plus récente de Flask qui est ce dont vous avez besoin, je suppose.

EDIT

OK, le problème est que pip installe Flask dans un autre endroit puis apt-get. Ceci est sortie pip:

>>> flask.__file__ 
'/usr/local/lib/python2.7/dist-packages/flask/__init__.pyc' 

Et c'est apt-get:

>>> flask.__file__ 
'/usr/lib/python2.7/dist-packages/flask/__init__.pyc' 

Here est une description de la façon de faire pip vous installer le paquet dans un répertoire différent. Je ne l'ai pas testé, cependant.