2016-12-07 9 views
7

質問: Windowsのvirtualenvでpserveを実行しているときにno-ascii文字エラーを解決する方法はありますか?virtualenv内のウィンドウでpserveを実行している非ASCII文字 ' x90'

説明:私はpserve(pyllons/pyramid開発Webサーバー)をWindows上のvirtualenv内で実行しようとしています。これは新しくインストールされたものなので、おそらくバージョンに関連しています。

問題: virtualenvを有効にして、エラー:SyntaxError: Non-ASCII character '\x90' in file C:\PATH_TO_MY_ENV_HOME\env\Scripts\pserve.exe on line 1, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for detailsを実行してください。

コマンドライン:

pserve development.ini --reload 

注:

  1. あなたが追加できるように、現在のファイルのエンコーディングと一致しない文字を含むファイルがある場合、このエラーが起こります権利を設定する命令は、Pythonスクリプトの鼻でenconde。
  2. 呼び出されたターゲットがexe拡張子を持っていて、それを呼び出すスクリプトがexeを最後に追加した場合に起こります。したがって、pythonランタイムはこのエラーをスローします。なぜなら、exeファイルをスクリプトとして呼び出す必要はなく、単にsufixを追加しなくても呼び出されるからです。
  3. 実行ファイルへのパスに特殊文字が含まれていません。行わ

テスト:

  1. pserveからexeファイルの拡張子を削除します。 did not worked:コマンドメッセージを認識できませんでした。
  2. 代わりにpserve-script.pyを呼び出してください(完全なパスも試してみてください)。働いていない:何もしないで何も返しません。
  3. pserve-script.pyの先頭に " - * - encoding:utf-8"を追加しました。同じメッセージ。
  4. python.exeからexe展開を削除します(フルパスも試しました)。 did not work:「プロセスの作成に失敗しました」

環境:

  • のWindows 10 1607ビルド14393.447
  • Pythonのバージョン:Anaconda2、Pythonの2.7.11
  • ピラミッドのバージョン:1.7.3ピラミッド
  • 仮想ENV:15.1 .0

解決方法:

もう一度アンインストールしてインストールすると、問題が解決します。

+1

を。 – IInspectable

+1

pserveを実行するために使用している正確なコードまたはコマンドラインを含めてください。これはPythonがPythonスクリプトであるかのように.exeを実行しようとしているようです。 – RichVel

+0

@RichVel、質問に追加されました。 –

答えて

0

の代わりにencodingcodingを使用してください(それは-*-は不要です)。私が書いたほぼすべてのpython-スクリプトはで始まる:

#coding: utf-8 

私はピラミッドかのどちらかを使用していないとして、私は本当にここに答えを持っていないWindows 10

+0

問題は同じです。 #coding:utf-8もテスト済みです。問題はスクリプトではなく、pserve exeを実行しようとしています。 –

0

でPython 2.7.10を使用していますWindows。しかしこれはこれまでに数人によって見られ、がpserve.exeの実行に使用されている可能性があります。これはPythonプログラムではなく実行可能ファイルとして機能しません。ここで

は、この前方に移動するかもしれないいくつかのリンクです - それはより濃縮ピラミッドの専門知識があるとして、あなたはGoogleグループへの参加をお勧めします:

pserve.pyのファイルがpserve.exeでないことと、実行するためにpython pserve.pyを使用することを確実にすることを具体的に考えます。呼び出し側スクリプトに制限がある場合は、run-pserve.batバッチファイルを作成してPythonを呼び出し、呼び出し側スクリプトの外側でテストします。

また、Windows上で事前設定されたLinux VMを使用することもできます。またはWindows 10には、実際に完全なUbuntu Linuxである「Windows用のBash」という別名Windows Subsystem for Linuxがあります。いずれにしても、Windowsより開発がはるかに簡単になると思います。あなたのvirtualenvを想定し

+0

私はすでにWindows用のbashを使っていますが、pycharmやvscodeをWindows上のvirtualenv(pythonユーティリティ)と統合したいのです。私もスクリプトを実行するためにWSLを使用していますが、WSLとの統合を行うきれいな方法はありません(リモートリンクはきれいではありません。過去にVMを使用していましたが、私が探しているものではありません。このpserveに加えて、virtualenvに問題なく本当に動作するはずです。 –

+0

'pserve'は実際にはPythonスクリプトであると仮定し、 'python pserve development.ini --reload'を試してみてください。これが有効なら' run-pserve.bat'ファイルに入れてください。 virtualenvの設定が正しいかどうかを調べるには、 '/ path/to/my/venv/bin/python pserve development.ini --reload'を使ってenv varsなどが正しくない場合でもvirtualenvの使用を強制することができます。 – RichVel

+0

@RichVelもフルパスを試しました。これを反映するために質問を編集しました。また、pserve-scriptもあります。pyはpserve.exeを呼び出すラッパーです。両方のファイル(exeとpy)への絶対呼び出しと相対呼び出しの両方を試みました。 –

0

venvディレクトリに

を座って、この使用する:あなたが質問をするのを忘れ

python venv/Lib/site-packages/pyramid/scripts/pserve.py some-ini-config.ini --reload 
関連する問題