2013-12-18 4 views
1

Python3.2.5에서 geopy-0.96.2를 설치 한 후 다음과 같이 표시됩니다. "Importerror : 모듈 geopy를 찾을 수 없습니다."PostgreSQL에서 Importerror geopy 사용

CREATE OR REPLACE FUNCTION geopy_test() RETURNS text AS $$ 
from geopy.geocoders import GoogleV3 
geolocator = GoogleV3() 
address, (latitude, longitude) = geolocator.geocode("Kungsgatan 20 Stockholm") 
return address 
$$ LANGUAGE plpython3u; 
SELECT geopy_test() 

답변

1

아래의 스크립트를 실행할 때 파이썬 내 포스트 그레스 9.3 설치와 함께 멋진 연주 할 geopy 지오 코딩 모듈을 얻으려고 거의 하루에 보냈다. 여기에 ... 나는 그것을 해결하는 방법이다 PostgreSQL을 9.3 (윈도우 8.1)에 대한 Python3.2.5 설치

1) 파이썬 3.2.5.msi을 다운로드하여 Python3.2.5를 설치합니다. 2) C : \ Python32 \ DLLs로 이동하여 python3.dll을 .... \ PostgreSQL \ 9.3 \ lib에 복사하고 python32.dll으로 바꿉니다. 3) 제어판 -> 고급 시스템 설정 -> 환경 변수 PATH 변수를 찾고 경로를 추가하는 경우 : C : \ Python32; C : \ Python32 \ Scripts 4) pgAdminIII를 열고 SQL 쿼리를 실행합니다. CREATE EXTENSION plpython3u;

CREATE OR REPLACE FUNCTION pyversion() RETURNS text AS $$ 
import sys 
return sys.version + '\n' + '\n'.join(sys.path) 
$$ LANGUAGE plpython3u; 
SELECT pyversion() 

이 같은 것을 생산해야합니다 : 다음 SQL 쿼리 설치 확인하는 데 사용할 수 있습니다 5) PostgreSQL을 9.3 (윈도우 8.1에서 Python3.2.5에 대한 geopy 설치

"3.2.5 (default, May 15 2013, 23:07:10) [MSC v.1500 64 bit (AMD64)] 
C:\Python32\lib\site-packages\setuptools-2.0.1-py3.2.egg 
C:\WINDOWS\SYSTEM32\python32.zip 
C:\Python32\Lib 
C:\Python32\DLLs 
C:\Program Files\PostgreSQL\9.3\data 
C:\Program Files\PostgreSQL\9 (...)" 

)를

:

1) Download geopy-0.96.2.tar.gz from https://pypi.python.org/pypi/geopy 
2) Unzip into any directory. 
3) Open command prompt and go to this directory 
4) run: python setup.py install 
5) Open control panel -> Advanced system settings -> Environmental variables 
Create new variable 
PYTHONPATH = C:\Python32\Lib\site-packages;C:\Python32\Lib\site-package\geopy-0.96.2-py3.2.egg 
6) Open pgAdminIII and run the SQL query: 
DROP EXTENSION IF EXISTS plpython3u CASCADE; 
CREATE EXTENSION plpython3u; 
7) The following SQL query can be used to check the install: 

CREATE OR REPLACE FUNCTION pyversion() RETURNS text AS $$ 
import sys 
return sys.version + '\n' + '\n'.join(sys.path) 
$$ LANGUAGE plpython3u; 
SELECT pyversion() 

이 지금 같은 것을 생산한다3210

3.2.5 (default, May 15 2013, 23:07:10) [MSC v.1500 64 bit (AMD64)] 
C:\Python32\lib\site-packages\setuptools-2.0.1-py3.2.egg 
C:\Python32\lib\site-packages\geopy-0.96.2-py3.2.egg 
C:\WINDOWS\SYSTEM32\python32.zip 
C:\Python32\Lib 
C:\Python32\DLLs 
C:\Program Files\PostgreSQL\9.3\data 
C:\Program Files\PostgreSQL\9.3\bin 
C:\Python32 
C:\Python32\lib\site-packages 

8) 이제 나에게 다음과 같은 대답했다 포스트그레스 SQL

CREATE OR REPLACE FUNCTION geopy_test() RETURNS text AS $$ 
from geopy.geocoders import GoogleV3 
geolocator = GoogleV3() 
address, (latitude, longitude) = geolocator.geocode("Kungsgatan 20 Stockholm") 
return address 
$$ LANGUAGE plpython3u; 
SELECT geopy_test() 

내 geopy 테스트 할 수 있어야한다 :

"Kungsgatan 20, 노르말 름, 스톡홀름, 스웨덴"

을 Importerror를 얻은 경우 모듈을 찾을 수 없습니다. 위의 경로가 포함되어 있는지 확인하려면 다음을 실행하십시오. SELECT pyversion()