2016-12-16 180 views
1

我試圖執行使用geonames_rdf程序,但我不能用這個錯誤執行:導入錯誤在Python

Traceback (most recent call last): 
File "geo1.py", line 13, in <module> 
import geonames.config.log 
ImportError: No module named config.log 

我看了幾個帖子ABOT導入錯誤,我檢查系統的路徑,這是正確的。我正在使用新的Ubuntu 16.04的VirtualBox。

我的程序的進口:

import sys 
import os 
import os.path 
import logging 
import geonames.config.log 
import geonames.compat 
import geonames.adapters.search 

我也嘗試加入這一行:

sys.path.append('/usr/local/lib/python2.7/dist-packages/geonames/') 

,我用來安裝裝配此包中的命令是

sudo pip install geonames_rdf 
+0

你可以嘗試'從geonames import config'' from config import log'來縮小這個問題的範圍 –

+1

嘗試'import geonames;打印(geonames .__文件__)'以查看您導入的文件/模塊。也許你有一個'geonames.py'的地方,你可以導入這個文件。 – furas

+0

@PatrickHaugh我試過你的代碼,錯誤是''from geonames import config' –

回答

0

嘗試追加site-packages而不是dist-packages。有點搜索它看起來像dist-packages是debian特有的。

sys.path.append( '的/ usr/local/lib目錄/ python2.7 /站點包/ GEONAMES /')

原因:

既然你安裝第三方蟒蛇通過pip打包它不會進入dist-packages,python無法在路徑上找到它。

參考鏈接: What's the difference between dist-packages and site-packages?

+0

foldersite包是空的,我怎樣才能在那裏安裝geonames?感謝您的幫助:) –

+0

@GonzaloMolina我會嘗試在你的shell中做一個「哪個python」。如果你在虛擬世界中,路徑可能會有所不同。我會導航到該文件夾​​,並直觀地驗證文件夾在那裏。做一個「sudo pip安裝geonames」應該正確安裝它。多數民衆贊成在 – Kelvin

+0

我沒有使用virtualenv ...我怎麼能告訴你我的文件夾? –

0

我只是試圖用geonames_rdf,但我不知道我需要它做GEONAMES搜索,所以我第一次安裝GEONAMES,然後發現我必須安裝Fiona和GDAL(我在Windows上,必須使用來自http://www.lfd.uci.edu/~gohlke/pythonlibs/的預先構建的whl來安裝這兩個)。不知道爲什麼這些依賴關係沒有出現在geonames中。

無論如何,我然後安裝geonames_rdf它似乎安裝到c:\ Python27 \ lib \ site-packages中的geonames文件夾中,至少添加了適配器包。在c:\ Python27 \ lib \ site-packages \ geonames中有一個包含log.py的config文件夾。