[Python]Django + PTVS + VS2015のビルドエラーでハマった

Azure App ServiceにDjangoのサービスを公開しようとしたときにビルドが通らずにハマった。同じことで躓く人がいないとも限らないので書き残しておく。(StackOverFlowには居た)

まず、以下のページに沿って、アプリを公開しようとしていた。

Python Tools 2.2 for Visual Studio を使用した Azure 上の Django と SQL Database | Microsoft Docs

手元の構成は以下の通り

  • Python
  • PTVS(Python Tools for Visual Studio)
  • Django
  • Visual Studio 2015

この中で公開(発行)を実施する際に、Visual Studioが以下のようなエラーを吐いた

エラー “RunPythonCommand” タスクが予期せずに失敗しました。
System.ComponentModel.Win32Exception (0x80004005): パラメーターが間違っています。
場所 System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
場所 System.Diagnostics.Process.Start()
場所 System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
場所 Microsoft.PythonTools.BuildTasks.RunPythonCommand.Execute()
場所 Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
場所 Microsoft.Build.BackEnd.TaskBuilder.d__26.MoveNext() DjangoWebProject2 C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Python Tools\Microsoft.PythonTools.Django.targets 64

あと「出力」ペインに

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Python Tools\Microsoft.PythonTools.Django.targets(64,5): error MSB4018:

なにやらいろいろ書いてあるが、要はPythonのビルドを担当してるMSBuildのタスクがエラーを吐いたということらしい。なにせ情報が少なく、「MSB4018」だとか「Django MSBuild」だとかのキーワードで検索して、ビルド成果物を何度も手動削除しても解決しなかった。

しばらくハマっていたのだが、VSで新規プロジェクトを作成したときに仮想ディレクトリ設定で「Path  environment variable」を埋めていなかったので、改めて適当に埋めたらビルドが通ったのだった。

上記設定は、「Python Environments」のウインドウで、使用中の仮想ディレクトリのConfigureを選択することで表示可能。

これでビルドは通ったが、Azure に発行するときにまたエラーが出たので今度はそれを直さなきゃ・・・


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です