如何使用 Python3.5 来绕过 cPickle 的 Python2.7 错误?

How to use Python3.5 in order to get around Python2.7 bug with cPickle?

我需要使用 Python3.x 来解决 cPickle 的以下错误。任务需要尽快完成。

我 运行 将 cPickle 与 Python 2.7.10 结合使用时出现以下错误。事实上,这是一个只有 Python3.x

才解决的错误

http://bugs.python.org/issue11564

所以,我安装了 Python3.5。现在,脚本没有 运行,因为我没有为 Python3 安装模块,例如

     import matplotlib.pyplot as plt 
ImportError: No module named 'matplotlib

用户应该如何开始将 Python 2.7 中安装的所有模块下载到 Python 3.5?

pip freeze 可以完成从一个 Python 安装到另一个安装的镜像包设置的工作。

假设 Python 的两个版本都安装了 pip(我们将它们命名为 pip2pip3,您可能需要为每个版本使用限定路径,具体取决于OS 和配置),你只需要做:

pip2 freeze > requirements.txt
pip3 install -r requirements.txt

这将为 Py3 安装中的 Py2 安装下安装的每个包安装相同的包和版本。请参阅 pip freeze docs 以了解调整输出的开关。如果您想要最新版本而不是相同版本,我相信您也可以删除每个要求的 ==x.y.z 部分。