2016-06-21 17 views
1

我構建了一個Windows窗體來收集有關項目的信息。這些信息然後被上傳到數據庫。是否有可能在Windows Form應用程序中使用psycopg2與IronPython?

其實,我正在使用Python腳本來做到這一點(因此所需的信息是由用戶在腳本中進行硬編碼)。

我想用我的WindowsForm爲我的腳本設置變量。我發現了一個IronPython的運行時異常:cannot import _psycopg from 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); 
     } 

難道僅僅是可能使用psycopg2與IronPython的?

+0

你也可以試試pythonnet – denfromufa

回答

2

psycopg2模塊使用CPython擴展,因此不適用於IronPython。有一個實驗ctypes version這是作者不再支持。

無論如何,您需要安裝相應的軟件包。你真的嘗試過嗎?

ipy.exe -X:Frames -m pip psycopg2 

如果找不到pip,您必須先確保pip。

ipy.exe -X:Frames -m ensurepip 
相關問題