2016-06-21 6 views
1

プロジェクトに関する情報を収集するためにWindowsフォームを構築しました。この情報は、データベースにアップロードされます。Windowsフォームアプリケーションで、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 

pipが見つからない場合は、まずpipを確認する必要があります。

ipy.exe -X:Frames -m ensurepip 
関連する問題