无意中安装了两个版本的Python 3.4.1 ...无法运行任何脚本,没有模块可以导入,我该如何解决这个问题?

时间:2017-07-14 00:01:44

标签: python linux ubuntu virtualenv python-3.4

我遇到了问题' zlib'在Python3.4.1上导入错误,所以我按照here,的说明进行操作,但不是为Python 2.6做的,而是为3.4做了。在执行此新安装过程之前,我没有卸载现有版本的Python3.4。我现在可以导入zlib,但是我的所有自定义包都无法导入,例如sklearn,scipy,numpy,flask和pandas。

首先,我收到导入错误:

>>> import scipy
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named 'scipy'

所以,我尝试用以下方法解决问题:

pip3 install scipy

但是,我受到了欢迎:

Requirement already satisfied: scipy in /usr/local/lib/python3.4/dist-
packages
Requirement already satisfied: numpy>=1.8.2 in 
/usr/local/lib/python3.4/dist-packages (from scipy)

我尝试运行echo $PYTHONPATH但它返回空白。

我可以很好地导入sys,os,time和zlib。它只是不会导入我在计算机上已有的所有依赖项。

我尝试删除/ tmp中我安装&#34;更新&#34;的文件夹。 Python3.4.1文件夹,但这不起作用。我不知道如何解决这个问题。

我仍然可以在我刚刚创建的anaconda虚拟环境中运行python脚本,但我不能使用virtualenv,这是一个问题,因为我经常使用zappa(这需要一个积极的virtualenv)。

这是我尝试运行virtualenv时得到的结果:

Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Fatal Python error: Py_Initialize: Unable to get the locale encoding
ModuleNotFoundError: No module named 'encodings'

Current thread 0x00007fb1bc7f4740 (most recent call first):
Aborted (core dumped)

包含dist-packages中所有依赖项的python版本位于/usr/local/bin/python3.4中。我怎样才能使它在运行python3时它将使用该文件夹中的依赖项?事实上pythonpath变量是空白的吗?

我只想要我的老蟒蛇回来。

PS。一切都适用于python2。它只是导致python3的这些问题。

1 个答案:

答案 0 :(得分:0)

我有一个类似的问题,但有另一个包。在我的情况下,事实证明我在site-packages中有一个egg-info文件,没有包的目录。删除egg-info文件(实际上我先移动它)允许进行全新安装。