2014-04-30 53 views
0

我需要不同版本的熊猫才能导入0.13或0.14版本。 我走了路径“C:\ Python27 \ Lib \ site-packages”,并将pandas的目录名称更改为pandas_013,但出现以下错误。使用python 2.7多版本库

有人有一个解决方案有多个版本库与Python 2.7?

>>> import pandas_013 
No module named pandas.compat 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "C:\Python27\lib\site-packages\pandas_013\__init__.py", line 6, in <module> 
    from . import hashtable, tslib, lib 
    File "tslib.pyx", line 37, in init pandas.tslib (pandas\tslib.c:55034) 
ImportError: No module named pandas.compat 
+0

您是否需要在相同的代码库中并排使用两个版本? –

+0

不是一个真正的义务。我想通过导入好的软件包来进行选择。 –

+0

为什么不使用git来回切换?或者virtualenv。猴子在网站包中修补软件包名称只会导致一系列的痛苦。 –

回答

1

如果你想使用多个版本,他们应该是你的包里面,大概在lib包。那么你有mypackage.lib.pandas_013mypackage.lib.pandas_014。接下来,您需要修复这些库 - 请记住它们将会填充像您误导的库(pandas.compat)。因此,需要将其更改为mypackage.lib.pandas_013.compatmypackage.lib.pandas_014.compat,对原始pandas包的所有其他参考也一样。有重构或某些sed-fu的IDE可以在这里帮助。

+0

我不明白mypackage.lib.pandas_013。你想说我必须有两个目录'C:\ Python27 \ Lib \ site-packages \ pandas_013'和'C:\ Python27 \ Lib \ site-packages \ pandas_014'吗?你建议我做哪些重构?谢谢 –

+0

哦 - 你的意思是从Python shell中使用熊猫,而不是在你自己的代码中?对不起,你可以直接使用[virtualenv](http://docs.python-guide.org/en/latest/starting/install/win/)。我以为你们想要同时访问(即来自同一位译员)。 –

+0

Thx Ryan。我需要能够执行导入pandas_013或导入pandas_014,但需要的不是在同一个脚本中执行这两个操作。我会寻找virtualenv。 –