今天解決了一個長久以來面臨的技術問題,趁著現(xiàn)在還記得怎么處理蕴侧,趕緊寫下來灰署,一方面覺得以后自己還會遇到這樣的問題泉坐,另一方面也為其他面臨同樣問題的人給點建議为鳄。
問題描述:
首先電腦上安裝了anaconda3和arcgis10.2.其中anaconda3帶有python3,arcgis10.2自帶python2.之前為了在anaconda中使用arcgis的自帶包arcpy腕让,因此在anaconda的pythonpath manager中添加了gis中python安裝路徑」虑眨現(xiàn)在想想,其實添加了路徑后纯丸,arcpy依然用不了偏形,python3和python2依然是沖突的。
然后anaconda安裝的時候只是改了一個安裝文件夾觉鼻。安裝過程基本都是下一步俊扭,沒有再自己設置其他的參數(shù)。最后打開spyder坠陈,每次都會出現(xiàn)An error ocurred while starting the kernel報錯萨惑,spyder也不能用。
解決過程:
首先是百度仇矾,百度過程覺得還不錯的解決方案如下:
https://blog.csdn.net/dongmie1999/article/details/90412231?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1?blog.csdn.net
https://blog.csdn.net/nijiayan123/article/details/81353079?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2?blog.csdn.net
這兩個里面記錄的方案都沒有解決我的問題庸蔼,但是為最終解決問題提供了思路。
重裝anaconda和重裝spyder以及重置spyder都沒有讓我的spyder可以使用贮匕,但鏈接2中提到可以可以看報錯語句姐仅,然后根據(jù)語句確定解決方案。
然后我看了一下的語句刻盐,其中顯示:
from dateutil.parser import parse as _dateutil_parse
File "D:\ProgramFiles (x86)\ArcGIS\python27\ArcGIS10.2\Lib\site?packages\dateutil\parser.py", line 158
l.append("%s=%s" % (attr, value
))
^
SyntaxError: invalid syntax
然后就確定是python中的dateutil模塊出現(xiàn)的問題掏膏,因為spyder和arcgis中的模塊重疊沖突。然后就接著開始百度敦锌,這怎么修正壤追。
有說重裝,也有說直接刪掉的供屉。
這個我都試過,更新模塊,重裝都不能解決問題伶丐。
最后就直接把鏈接中提到的parser.py移除悼做,結果還是不行,最后想著一不做二不休就直接把ArcGIS10.2\Lib\site?packages\中的dateutil文件夾直接刪除哗魂。
然后問題解決肛走,spyder可以運行了。
但再打開spyder后加載包的時候又出現(xiàn)了新的問題录别,就是導入numpy失敗朽色,(因為這沒有截屏,我就直接手寫問題)
再輸入 import numpy時组题,始終提示一個與gis文件夾中的numpy模塊相關的錯誤葫男。
但這個時候,我覺得不是沖突的問題了崔列,應該是其他的問題梢褐。
在看了眾多百度解答后的,覺得既然每次都指向ArcGIS文件夾中的python文件赵讯,那會不會是整個環(huán)境變量出現(xiàn)的問題盈咳。
然后找到環(huán)境變量,發(fā)現(xiàn)在path中是有anaconda的路徑边翼。說得看pythonpath中的路徑鱼响,最終問題就出現(xiàn)在這里,里面只有GIS的路徑组底,沒有anaconda的路徑丈积,于是,添加了anaconda的路徑斤寇,但修改后桶癣,還是不能解決這個問題,最后就把GIS相關路徑刪除娘锁,就可以導入numpy了牙寞。
這下總算解決了問題。
最后一點總結吧:
首先是可以百度到大多數(shù)問題的解答莫秆;第二是要學會看報錯的類型间雀,根據(jù)具體的類型進行具體的操作;第三就是想想系統(tǒng)層面的操作镊屎,這個就主要是指系統(tǒng)環(huán)境惹挟。