2016-08-05 1 views
8

私はWindows 10を使用していて、Pythonをインストールしています。新しいアップデートはWindowsにbashをもたらしましたが、私がbashの中からpythonを呼び出すと、それはWindowsにインストールされた私のPythonではなく、bashに付属しているPythonのインストールを指しています。したがって、たとえば、Windowsにすでにインストールされているモジュールを使用することはできず、別々にbashインストールにインストールする必要があります。WindowsにインストールされているPythonにbashを指し示す

元のWindows Pythonのインストールで、どうやってbashポイントを作成できますか?/usr/binには名前の中に "python"というリンクがたくさんありますが、どのディレクトリを変更するのかは不明ですし、Windowsディレクトリに変更すると実行形式が異なるためにも機能します。

+2

WSLからWindowsプログラムを実行する機能は[バックログにあります](https://wpdev.uservoice.com/forums/266908-command-prompt-console-bash-on-ubuntu-on-windo/suggestions/)です。 13284702-let-us-launch-windows-processes-from-bash)。 – eryksun

+0

私は今、それを指摘していただきありがとうございます! –

答えて

0

現在、WindowsアプリケーションをBashから実行することはできませんが、これは今後のリリースで取り組む予定の機能です。この機能が完了したときに最初に受信して実行することに熱心であれば、Windows 10 Insider Fast-Ringにサインアップしてください。

0

Windows 10はインストールされていませんが、私はBabunを使用していますが、同じ問題がありました。私は、エイリアスは、Windows 10シェルでうまく動作読むように単にPythonインストールディレクトリを指しているあなたの.bashrcにエイリアスを追加します。

alias python /mnt/c/Python27/python 
0

あなたは、少なくとも4つのオプションがあります。

  1. を完全な絶対パスを指定します。あなたが使用したいpython実行可能ファイルに移動します。
  2. .bashrcファイルにエイリアスを定義する
  3. .bashrcファイルのPATH変数に、使用するpythonバージョンの場所を含めます。
  4. PATHにすでに存在するディレクトリにシンボリックリンクを作成します。
+3

現在、LinuxサブシステムはWindowsサブシステムでPE実行可能ファイルを起動できません。どうやら彼らはこれを考慮しており、最終的にはサポートされるべきである(そうすべき)。私はそれがシステムコールの 'exec'ファミリで実装できると思いますが、Windowsでcmd.exeのインスタンスを起動する特別な"/bin/cmd "プログラムを追加できます。これはbash.exeが/ bin/bashを起動するのと同じですLinuxで。次に、 'cmd/c python ... 'を介してWindows Pythonを実行することができます。 – eryksun

+0

@eryksunおそらく私は元の質問を誤読/誤解しました。ディスカッション中の "bash"は実際にはWindowsの一部であり、cygwinやmingwのようなサードパーティのツールではないことに気づいていませんでした。 –

+1

[WindowsのUbuntuのBash](https://msdn.microsoft.com/commandline/wsl/about)を参照してください。これは、LinuxシステムコールをNTシステムコールにマッピングすることによって、Linux ELFバイナリを直接実行するWindows 10の新しいサブシステムです。 – eryksun

4

Windows 10 Insiderビルド#14951以降、Windowsの実行ファイルをBashから呼び出すことができるようになりました。

実行可能ファイルへの絶対パス(例:c:\Windows\System32\notepad.exe)を呼び出したり、実行可能ファイルのパスをbashパスに追加したり(まだない場合)、単に呼び出すことができます(例:notepad.exe)。

注:実行可能ファイルの名前に.exeを追加してください - この場合はWSL - これは、Linuxはあなたが外国のものとルート登録ハンドラに呼び出し要求を起動していることを知っている方法です。

あなたがCでWindows上のPython 2.7をインストールしたのであれば、あなたのケースでは、:\、あなたはbashの中から、このようなコマンドを使用して、それを起動することがあります

$ /mnt/c/Python2.7/bin/python.exe

(または同様の - 各フォルダ/ファイル名の大文字と小文字を正しく指定したことを確認してください)

HTH。

+0

これを実行すると、「バイナリファイルを実行できません:EXEC形式エラー」というエラーが表示されます。ただ、これはPythonのWLSインストールではなく、PythonのWindowsインストールを実行するでしょうか? – tallen11

関連する問題