无法导入pandas和numpy

时间:2017-11-22 17:18:42

标签: python linux python-3.x pandas numpy

我正在尝试在Debian Stable Linux上运行以下简单脚本:

$ cat ./mytest.py 
#! /usr/bin/python3

print("Before importing sys.")
import sys

print("Before importing pandas.")
import pandas as pd

print("Before importing numpy.")
import numpy as np

但是它给出了以下错误:

$ ./mytest.py 
Before importing sys.
Before importing pandas.
time.struct_time(tm_year=2017, tm_mon=11, tm_mday=22, tm_hour=22, tm_min=43, tm_sec=50, tm_wday=2, tm_yday=326, tm_isdst=0)
Date=22
Month=11
Year=2017
Hour=22
Minute=43
Second=50
Local current time : Wed Nov 22 22:43:50 2017
Traceback (most recent call last):
  File "./mytest.py", line 7, in <module>
    import pandas as pd
  File "/usr/lib/python3/dist-packages/pandas/__init__.py", line 13, in <module>
    __import__(dependency)
  File "/home/iuser/.local/lib/python3.5/site-packages/numpy/__init__.py", line 142, in <module>
    from . import add_newdocs
  File "/home/iuser/.local/lib/python3.5/site-packages/numpy/add_newdocs.py", line 13, in <module>
    from numpy.lib import add_newdoc
  File "/home/iuser/.local/lib/python3.5/site-packages/numpy/lib/__init__.py", line 8, in <module>
    from .type_check import *
  File "/home/iuser/.local/lib/python3.5/site-packages/numpy/lib/type_check.py", line 11, in <module>
    import numpy.core.numeric as _nx
  File "/home/iuser/.local/lib/python3.5/site-packages/numpy/core/__init__.py", line 16, in <module>
    from . import multiarray
SystemError: initialization of multiarray raised unreported exception

通过Debian存储库安装以下版本的pandas和numpy:

Package                 Installed       Previous        Now             State
=======================-===============-===============-===============-=====
python3-pandas          0.19.2-5.1      0.19.2-5.1      0.19.2-5.1      install
python3-pandas-lib      0.19.2-5.1      0.19.2-5.1      0.19.2-5.1      install

python-numpy            1:1.12.1-3      1:1.12.1-3      1:1.12.1-3      install
python3-numpy           1:1.12.1-3      1:1.12.1-3      1:1.12.1-3      install

问题出在哪里?如何解决?

编辑:我发现上面相同的文件在另一个文件夹中完美运行!我使用正确的文件名命令。

$ ./mytest.py 
Before importing sys.
Before importing pandas.
Before importing numpy.

第一个文件夹中还有其他文件和子文件夹。其中一个是__pycache__,其中包含以下文件:

$ ls
datetime.cpython-35.pyc  myfns.cpython-35.pyc  myframe.cpython-35.pyc

我的datetime.py文件包含以下内容:

import time

tt = time.localtime()
print(tt)
print("Date="+str(tt.tm_mday))
print("Month="+str(tt.tm_mon))
print("Year="+str(tt.tm_year))
print("Hour="+str(tt.tm_hour))
print("Minute="+str(tt.tm_min))
print("Second="+str(tt.tm_sec))

localtime = time.asctime( time.localtime() )   # <<<<<<<<<<<<<<<<<< same as complex above; 
print ("Local current time :", localtime)

这些可能会干扰吗?

2 个答案:

答案 0 :(得分:1)

我不确定Pandas 0.19.2是否与Numpy 1.12.1兼容。

我认为解决此问题的最简单方法是install Anaconda Python distributive into a separate directory (not touching system Python)并创建VirtualEnv(s)。

Anaconda负责所有提供模块的兼容性。

答案 1 :(得分:0)

由于脚本在其他文件夹中运行良好,因此问题仅出现在此文件夹中。此文件夹中有一个名为datetime.py的文件,删除该文件解决了问题。显然,pandas查找名为datetime.py的文件并首先搜索当前文件夹,在该文件夹中找到具有相同名称的此用户文件。因此问题。

故事的道德:不应该为用户文件提供软件包可能使用的通用名称。