2016-09-06 10 views
1

私はMacの下でpythonを使用しており、Windowsシステムで動作する必要があります。 PowershellにWindows用Python35をインストールしました。コマンドpy --versionpython --versionは私に "Python 3.5.2"を提供します。必要に応じてenvパスを追加しても、powershellの下でpythonスクリプトを実行できません

私はPowerShellでPythonスクリプトを実行したいとしようとしている:py file.pypython file.pypy .\file.pypython .\file.py し、次のようにあります

python : File ".\file.py", line 1 
Au caractère Ligne:1 : 1 
+ python .\file.py 
+ ~~~~~~~~~~~~~~ 
    + CategoryInfo   : NotSpecified: ( File ".\file.py", line 1:String) [], RemoteException 
    + FullyQualifiedErrorId : NativeCommandError 

SyntaxError: Non-UTF-8 code starting with '\xff' in file .\file.py on line 1, but no encoding declared; see 
http://python.org/dev/peps/pep-0263/ for details 

それは私に1秒以内に閉じ黒いウィンドウが開きます.\file.pyについて。

興味深いことに、pythonまたはpyを実行すると、pythonのアイドル状態が出力されますが、powershellがブロックされてしまい、powershellでも使用できません。私はPowerShellでかつmanully "アドバンスシステム" インタフェースでPythonのパスを追加しようとしたとして

今、私はすでに同様

cannot run python script file using windows prompt

Cannot run python script

Run python script inside powershell script

を見て窓の私file.pyはシンプルprint("hello")

私が間違って何をやっているが含まれているところで

+0

愚かな質問が、何エディタまたは:これを解決するには、ヘッダー、非Unicode(ANSI)としてファイルを保存するかと言うと、ソースファイルの起動方法については

あなたのpythonスクリプトを作成しますか?非プレーンテキストエディタで編集すると、これが得られます。 –

+0

私は崇高なテキスト3を使用しました。そして、UTF-8で "エンコードで保存"した後は、vonPryzへの私の答えで述べたように、今動作します。あなたはそれが崇高なテキストエディタからのものだと思いますか? 私はしばしば、スピードコードをいくつかの言語で使っていますが、今日までこの問題に遭遇していませんでした。 – tuttifolies

+1

@JacobVlijmあなたは私に良い点を指摘しました。実際、私が使っていたエディタは付属していません。私の問題は、当初私のファイルをどのように作成したかです。私はmacを使っていました。 'echo" print( 'hello') "> file.py'を実行し、' python3 file.py'を実行します。 何が起こるか(初心者です)、私はpowershellの 'echo" print( 'hello')>>ファイルで行いました。私が推測する「py」は、それが不平を言っていた目に見えない文字を追加しています。 一方、エディタから新しいファイルを作成すると、最後に完全に正常に動作しました。 – tuttifolies

答えて

1

問題は、エラーメッセージで説明されています。

SyntaxError: Non-UTF-8 code starting with '\xff' in file .\file.py on line 1, but no encoding declared;

それはPythonのソースファイルを読み込み、混同されることを意味します。一方、それはbyte order markヘッダーを持っていますが、一方で、ファイルがどのような種類のUnicodeについての十分な情報がありません。

残念ですが、実際のエンコーディングを推測するのではなく、何をするかをPythonが指示する必要があります。ユニコードでは、警告があります。たとえば、1/2は実際にはの数字で、値は0.5です。編集でした

# -*- coding: utf-8 -*- 
+0

ありがとうございます。だから残念ながら、 '# - * - coding:utf-8 - * - 'を追加しても機能しませんでした。私はあなたがまだ動作しませんでしたが言及したように、エラーメッセージのリンクで述べたように、ファイルの先頭にいくつかのコメントコーディングを試してみました。 私はあなたの解決策をファイルに保存しようとしました。だから、エディタで私は "Encoding with Saved"を選択し、UTF-8を選択しました。次に、 'python。\ file.py'または' py。\ file.py'のいずれかを実行していました。 vonPryzとsudomakeinstall2をありがとうございました – tuttifolies

+0

Pythonは、コーディング仕様の場合でも、UTF-16としてエンコードされたソースファイルをサポートしていません。このPowerShellコマンドは、UTF-16テキストファイルを作成します: 'echo" print( 'hello') ">> file.py'。 – eryksun

+0

Python 3の場合、UTF-8にはコーディング仕様は必要ありません。テキストエディタで必要な場合は、UTF-8にのみ必要です。 – eryksun

関連する問題