【问题标题】:Is there a way to get my newly installed Python 3 to recognize all of the libraries I had installed when I was using Python 2?有没有办法让我新安装的 Python 3 识别我在使用 Python 2 时安装的所有库?
【发布时间】:2017-10-18 10:12:15
【问题描述】:

我正在运行 AWS 环境 (Amazon Linux) 并尝试运行需要大量库的 Python3 脚本。我花了很长时间弄清楚如何安装它们,才意识到我正在运行 Python 2 而没有安装 Python 3。

所以我安装了 Python 3:

sudo yum install python36 

但后来我尝试运行我的脚本,但它无法识别我的任何库。我不想也不知道如何重新安装 Python 3 版本的所有东西。有没有办法让 Python 3 识别我所有的库?我确信它们都与 Python 3 兼容。我们谈论的是 Tensorflow、Keras、Scipy 等。

【问题讨论】:

  • 您对它们的兼容性有多大把握? python-future.org/translation.html
  • 如果您使用最新的 AMI 2017-09,您将在 EC2 中安装 Python3 并重新安装所有与 python 3 类似的模块。我想没有办法在 python3 中完全使用 python2 的模块
  • 不,我不确定。我该如何检查?它出错的第一个称为“tqdm”。 (我正在运行别人写的东西)
  • +BTuan:我使用的是AMI 2017-09,但是当我执行命令“python3”时它说我没有它(我认为这很奇怪),所以我自己安装了它.也许我做错了什么?
  • AMI 2017-09。抱歉,未安装但支持使用命令安装sudo yum install python36 python36-virtualenv python36-pip

标签: python python-3.x amazon-web-services amazon-ec2


【解决方案1】:

这对于 Python 代码或 C 扩展模块可能不起作用,因为用于 C 扩展模块的 Python 3 API 不向后兼容 Python 2,而且 Python 3 语言也发生了一些向后不兼容的变化.因此,您将需要所有库的新版本。

【讨论】:

  • 如何安装它们?安装程序(我假设)默认为 Python 2 安装。
  • 您是否从 Linux 发行版的标准包中安装了这些?应该有包的替代版本。例如,对于我的 Debian 系统上的 scipy,python-scipy 是 Python 2 的软件包,而 Python 3 的软件包称为 python3-scipy
  • 在 AWS 环境中,我安装了第一个库: pip install tqdm 当我在我的机器上执行此操作并使用 Python 3(我使用 Anaconda 安装)运行代码时,它就可以工作了。但是,在 Amazon 环境中,Python 3 找不到该库。在我看来,这与库版本无关,而是 Python 3 不知道在哪里寻找库。
  • 使用可用的标准 Linux 软件包。但如果您必须使用pip,请尝试使用pip3 命令。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-10-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多