2016-08-04 57 views
0

這是一個頭部劃痕器。我有一個帶有Ipython筆記本和Python代碼的目錄。不知什麼時候,當我嘗試導入大熊貓的一個熊貓文件試圖執行時,執行導致導入進行轟炸。當我導入熊貓時,Anaconda python在目錄中執行一個python文件

[path]$ python 
Python 3.5.2 |Anaconda custom (64-bit)| (default, Jul 2 2016, 17:53:06) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import pandas as pd 
WARNING: No route found for IPv6 destination :: (no default route?). This affects only IPv6 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/usr/local/anaconda3/lib/python3.5/site-packages/pandas/__init__.py", line 13, in <module> 
    __import__(dependency) 
    File "/usr/local/anaconda3/lib/python3.5/site-packages/pytz/__init__.py", line 29, in <module> 
    from pkg_resources import resource_stream 
    File "<frozen importlib._bootstrap>", line 969, in _find_and_load 
    File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked 
    File "<frozen importlib._bootstrap>", line 664, in _load_unlocked 
    File "<frozen importlib._bootstrap>", line 634, in _load_backward_compatible 
    File "/usr/local/anaconda3/lib/python3.5/site-packages/setuptools-20.3-py3.5.egg/pkg_resources/__init__.py", line 71, in <module> 
    File "path/parser.py", line 62, in <module> 
    file_temp = sys.argv[1] 
IndexError: list index out of range 

使用,而不是蟒蛇作品出於某種原因IPython的:

[path]$ ipython 
Python 3.5.2 |Anaconda custom (64-bit)| (default, Jul 2 2016, 17:53:06) 
Type "copyright", "credits" or "license" for more information. 

IPython 5.0.0 -- An enhanced Interactive Python. 
?   -> Introduction and overview of IPython's features. 
%quickref -> Quick reference. 
help  -> Python's own help system. 
object? -> Details about 'object', use 'object??' for extra details. 

In [1]: import pandas as pd 

In [2]: 

要添加更多的怪事,我不能連接到使用jupyter樞紐此目錄中的任何內核。

編輯:如果有一個名爲parser.py的文件,這似乎是在這臺機器上的任何地方導入熊貓的問題。這個問題不會發生在我的筆記本電腦上。這臺機器有Anaconda我的筆記本沒有。我沒有關於如何解決問題的解決方案。

+1

如果重命名'path/parser.py',會發生什麼? – MattDMo

+0

看起來像一些依賴沒有得到滿足,大熊貓試圖自動解決它們,但失敗。但是ipython符合這些依賴關係。 – rikisa

+0

如果我重命名路徑/ parser.py然後導入工作。 – deltap

回答

0

這似乎是python如何工作的一個症狀,python中的路徑如何工作,以及python中的導入如何工作。簡單的答案是,你的python路徑中不能有一個與你導入的庫調用的python文件具有相同名稱的文件。這會產生名稱衝突,並且由於當前目錄首先在python路徑中,它會嘗試將錯誤的文件用作依賴項。如果您想在不更改整個庫的情況下熱修補庫中的特定文件,可以使用這種方法的一種方式是您的優勢。