是否可以升级使用apt-get安装的软件包,因此位于/ usr / lib /中,如果这样的软件包在pypi中有更新的版本,但不在apt的标准Ubuntu存储库中?
我认为它很危险,因为它可能会破坏依赖性,但它只是要知道。
答案 0 :(得分:0)
是的,是的。
我卸载Flask
$ sudo apt-get remove 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
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named flask
我安装它
$ 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'
仔细检查:
$ 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]
升级:
$ 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'
我发现pip检查存在问题,但是:
$ 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]
所以我必须有一些链接或某些内容被破坏,但即使我使用apt-get remove
,这个问题仍然存在。总而言之,我能够导入更新版本的Flask,这就是我想要的。
修改强>
好的,问题是pip
在Flask
的不同位置安装apt-get
。这是pip输出:
>>> flask.__file__
'/usr/local/lib/python2.7/dist-packages/flask/__init__.pyc'
这是apt-get的:
>>> flask.__file__
'/usr/lib/python2.7/dist-packages/flask/__init__.pyc'
Here描述了如何将pip
安装包装在不同的目录中。但是,我没有测试过它。