【发布时间】:2018-08-24 10:38:37
【问题描述】:
编辑:我的问题是不是关于如何立即让 pip 工作的问题。正如您在问题中看到的那样,我通过重新链接解决了这个问题。
问题是:在新的 *NIX 系统上,最佳/pythonic 实践是什么? 人们可能希望拥有最新版本的 Python2,尤其是带有 pip 和 setuptools 等的 Python3。一个受保护的虚拟环境似乎是一种方式,但无论如何都必须从某个地方开始。
那么建议是什么?
从 cmets 看来,应该使用 get-pip.py 脚本安装,然后使用 pip 安装 virtualenv。我想如果想要同时拥有 Python2 和 Python3,就必须这样做。
这是几天前发生的事情:
Ubuntu 18.04 和 Python 2.7
我是一个重度 R 用户,但使用越来越多的 Python。几乎每次我在 Linux 或 OSX 上设置任何类型的自定义 python 环境时,都会出现一些问题并且必须摆弄......链接、二进制文件、路径、依赖项。每一次。现在有多少人坐在一个 Ubuntu/Debian 机器上,并且在做apt install python pip; pip install --upgrade pip 和 -duh- 它坏了?真的吗?
特别是现在:我想在网络服务器上安装 django,并从 apt install python-pip 开始。
然后我做了推荐的pip install --upgrade pip,它安装了 pip-18.0 但给出了消息Not uninstalling pip at /usr/lib/python2.7/dist-packages
在那之后pip --version 抛出了一个错误
Traceback(最近一次调用最后一次):文件“/usr/bin/pip”,第 9 行,在 从点导入主
原来旧pip还在/usr/bin/pip,而新pip在/usr/local/bin/pip。
我用蛮力修复了它:
rm /usr/bin/pip
ln -s /usr/local/bin/pip /usr/bin/pip
我做的是正确的事,还是这就是注定要走的路?
是否有一种 Python 或优雅的方式来处理此类问题或从一开始就阻止它们?
向您致以最诚挚的问候并感谢您提出的任何建议。
【问题讨论】:
-
不要使用
python-pip包。通过其他方式安装pip。使用包管理器安装一个版本的包,然后执行其他操作来升级它是没有意义的。如果这会破坏安装,请不要感到惊讶。要么按原样使用发行版提供的软件包,要么“手动”处理它, -
我完全同意之前的评论。我会使用虚拟环境添加,你所有的问题都消失了,你从一个新的全新 python 安装开始(这是我假设的 python 方式)。
-
为什么还要从 python 2.7 开始呢?使用某些版本的 python 3,djongo 可以完美运行。一旦你安装了 python django 安装只是
pip install Django==2.1,或者pip3 install Django==2.1 -
@GiacomoAlzetta 听起来不错,但我如何在没有 apt 的情况下安装 pip?
-
是的,一开始很正常,不要太担心你的python版本,一次一件事。我建议从源代码安装virtualenv,然后为每个项目创建一个virtualenv,然后安装项目需要的包,而不是其他任何东西,一旦完成,你就可以进行 pip freeze 并且所有依赖项都会神奇地出现。都是优点!