カテゴリー別アーカイブ: エンジニアリング

[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 に発行するときにまたエラーが出たので今度はそれを直さなきゃ・・・

わんくま同盟 東京勉強会 #105に参加した

わんくま東京に初参加

会場は千駄ヶ谷のお菜や。東京は毎回ここらしい。窓の大きいいいお店だった。

わんくま勉強会は、僕がC#に関わりだした2011年ぐらいからネット上のナレッジを検索すると耳にしていた名前だったのでずっと参加したかった。今回はセッションの1つにVSSからTFSへの移行の話があり、会社の業務的にもちょっと聞きたい内容だったので参加してみたのだった。

会場は仕込み中の居酒屋の壁に仕切られた場所で、椅子は4人掛けテーブルが8個くらい。プロジェクターなども運営の方が自前で準備していた。他の勉強会に比べて周りの人との距離が近い気もしたが、今回で105回を数えるような長寿イベントで参加者は顔見知り同士だろうし、居酒屋で開催というのもそのまま飲み会になだれ込めて都合がよさそうだった。

自分とセッション内容の相性などもあるが、パソコンで作業しつつ有益な話は吸収するという時間の使い方もできそうなので、是非また参加したい。

以下、興味深かったセッション。

CUDAの話(講師:επιστημη≪エピステーメー≫さん)
CUDA Tool kitとかNVIDIAの話。わんくまではお馴染みのようだった。普段GPUの内部構造を知ることがないので、僕には新鮮で面白かった。CPUよりGPUのほうが機械学習に向いてるというけど、ならなぜ最初からGPUをメインプロセッサとして使わないのだろう、と思っていた疑問が解決した内容だった。

#GPUは32個のコアに対してプログラムカウンタが1個しかない(Maxwell Architectureの場合)ので、配列の操作に向いているから、のような理由だった。

VSSからTFSの話(講師:まことさん)
バージョン管理の話。講師のまことさんの会社でのバッドノウハウ的な内容で面白かった。チェックインの時のオモシロコメントTOP5は笑った。

HobeHoge.cs saamonumai 2017/01/23 チェックイン-2017/01/23 チェックインしました。

日付とチェックインはシステム的に元々表示されるのにコメントで書いちゃう、みたいな。

 

今期、自チームにTFS導入する担当マンなので参考になった。

とりあえずMSDNサブスクリプションで使えるクラウド版から触ってみる。