学んだことをメモする日記

主にpythonについて自分が学んだことについてのメモ帳。理解が深まればいいんだけれども・・・

Flash-AssetsでClosure Compilerを使用する

Flash-AssetsでClosure Compilerを使用した際に躓いた箇所をメモ。

使い方などはFlask-Assets — Flask-Assets 0.8.dev documentationを参照のこと。


Windows環境でClosureを使用しようとすると、なんかエラーがでて正常に動作しない。なんだこれは!とおもって調べてみると環境変数とFlask-Assetsのファイル自体に原因があるみたい。解決策として、環境変数JAVA_HOMEにjava.exeのあるbinフォルダつまり、JAVA_HOME/bin/java.exeとなるように設定を行い、(pythonをインストールしたフォルダ)/Libsite-packages/webassets/filter/__init__.pyの322行目辺り(ver0.7)を

        proc = subprocess.Popen(
            [self.java, '-jar', self.jar] + args,
            # we cannot use the in/out streams directly, as they might be
            # StringIO objects (which are not supported by subprocess)
            stdout=subprocess.PIPE,
            stdin=subprocess.PIPE,
            stderr=subprocess.PIPE, shell=True)

とすれば良い。なんか、shell=Trueを追加しないとエラーが出るみたいね。

すごい雑だけど以上。