asp.net(vb)で作成したwebアプリ内で、pythonのRDkitを用いて構造式の作図や部分構造検索などを行い、結果をwebサイト上に表示する、といったことを目指しております。
DjangoやFlask等は未学習のため、IDEとしてvisualstudio2019をフレームワークとしてはasp.net(vb)を使用したいと考えております。
RDkitはAnacondaを用いて、開発環境=サーバーにインストールしています。
RDkitをインストールした環境でpythonのスクリプトを実行するため、コマンドプロンプトでAnacondaのバッチファイルを実行させ、続いてPythonのスクリプトを実行させて、返り値を取得し、それをVBで処理して表示ということを想定しています。
下記のコードを組んでIIS expressでは期待したとおり動いているのですが、IISへ発行し、webサイトとして表示するとエラーは起こりませんが、返り値が空白となってしまいます。
VB.NET
1Imports System 2Imports System.Collections.Generic 3Imports System.Linq 4Imports System.Diagnostics 5 6 Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 7 8 Dim psi = New ProcessStartInfo() With 9{ 10 .FileName = System.Environment.GetEnvironmentVariable("ComSpec"), 11 .CreateNoWindow = True, 12 .Arguments = "/c" & "cd c:\users\〇〇〇〇\" & " && call C:\Users\〇〇〇〇\anaconda3\Scripts\activate.bat" & "&& python C:\Users\〇〇〇〇\substrsearch.py", 13 .RedirectStandardOutput = True, 14 .UseShellExecute = False 15} 16''〇〇〇〇はWindowsのユーザー名です。 17 18 'プロセスを実行する。 19 Dim ps = Process.Start(psi) 20 21 '結果を取得する。 22 Dim strResult = ps.StandardOutput.ReadToEnd() 23 24 'プロセス終了を待機する 25 ps.WaitForExit() 26 ps.Close() 27 Label2.Text = strResult.tostring 28 29 30 End Sub
ちなみに、
call C:\Users\〇〇〇〇\anaconda3\Scripts\activate.bat
をCDやDIRにすると、結果がそれぞれきちんと帰って来ますので該当フォルダへのアクセス権は設定されていると考えています。
どなたかお詳しい方がいらっしゃいましたら、ご教示いただけると幸いです。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/16 01:47 編集
退会済みユーザー
2021/03/16 02:01
2021/03/16 03:43