2016-06-21 1 views
1

프로젝트에 대한 정보를 수집하기 위해 Windows Form을 만들었습니다. 이 정보는 데이터베이스에 업로드됩니다.Windows Form 응용 프로그램에서 IronPython과 함께 psycopg2를 사용할 수 있습니까?

사실, 필자는 Python 스크립트를 사용하여이를 수행합니다 (따라서 필요한 정보는 스크립트에서 사용자가 하드 코딩합니다).

내 WindowsForm을 사용하여 스크립트의 변수를 설정하고 싶습니다. 이 IronPython의에 psycopg2를 사용하는 경우에만 가능

private void btn_uploaddata_Click(object sender, EventArgs e) 
     { 

      var engine = Python.CreateEngine(); 
      var scope = engine.CreateScope(); 
      engine.SetSearchPaths(new Collection<string>(new[] 
      { 
       @"C:\Python27_XY", 
       @"C:\Python27_XY\DLLs", 
       @"C:\Python27_XY\Lib", 
       @"C:\Python27_XY\Lib\site-packages", 
      })); 

      scope.SetVariable("project_num", tb_projnum.Text); 
      scope.SetVariable("project_name", tb_projname.Text); 
      scope.SetVariable("proj_client", tb_projclient.Text); 

      engine.ExecuteFile(@"path/to/script.py", scope); 
     } 

인가 : cannot import _psycopg from psycopg2

여기에 변수를 설정하고 스크립트를 실행하는 코드이다 : 나는 IronPython의 런타임 예외를 받고 있어요?

+0

pythonnet – denfromufa

답변

2

psycopg2 모듈은 CPython 확장을 사용하므로 IronPython에서 작동하지 않습니다. 더 이상 작성자가 지원하지 않는 실험 ctypes version이 있습니다.

어쨌든 해당 패키지를 설치해야합니다. 너 실제로 이것을 시도 했니?

ipy.exe -X:Frames -m pip psycopg2 

핍이 발견되지 않으면 먼저 핍을 보장해야합니다.

ipy.exe -X:Frames -m ensurepip 
관련 문제