2017-08-26 4 views
0

pycharmターミナル内で仮想環境としてセットアップされ、Windowsターミナルからは実行されないpythonスクリプトがあります。私は環境変数を設定していない。PythonスクリプトはPyCharmで動作しますが、ウィンドウにパスエラーがスローされますcmd

スクリプトが外部テキストファイルをロードしているときに、PythonがFileNotFoundErrorを投げています。

私はこのスレッドに遭遇しました:Script running in PyCharm but not from the command lineと私は作業ディレクトリがWindowsターミナルから実行しているときに正しくないと思います。

私は矛盾を理解していません。 PycharmはWindowsターミナルとは何が違うのですか?どのように私はそれを修正するのですか?

答えて

2

デフォルトでは、PyCharmの現在のディレクトリはPyCharmサンドボックスへのパスを参照します。そこにファイルを置くと、PyCharmに問題なくロードされます。

ただし、コマンドラインからは、(実際にファイルが存在する場所に)完全修飾パスを指定するか、スクリプトを実行するディレクトリに移動する必要があります。

+0

@coldspeedこのように、ソースコードでフルパスを使用するオプションがあるため、OSの移植性に影響する可能性があります。他のオプションは、ファイルを移動することです、私はそれが行うだろうと思うが、私はファイルが(プロジェクトのルート)であると思う。ですから、pycharmのように現在のディレクトリを設定するにはどうしたらいいですか? – Decimoseptimo

+0

@Decimoseptimoなぜ同じディレクトリにファイルを保存しないのですか?あるいは、あなたのプログラムがデフォルト値を持ち、ユーザーが設定できるデータへのファイルパスを含む設定ファイルを読み込ませるようにすることもできます。 –

+0

@coldspeed python.exeは\ virtual-env \ Scripts \にあります。pycharmから実行すると正しく動作します。\、CMD.exeから実行すると正しく動作しません。\ virtual-env \ Scripts \、プロジェクトが必要です。 pycharmがそれを設定できるのであれば、私のプロジェクトルートにあるファイル\、なぜ私はできないのですか? – Decimoseptimo

関連する問題