2016-08-05 8 views
8

पर स्थापित एक पायथन पर पॉशिंग पॉशिंग मैं विंडोज 10 का उपयोग कर रहा हूं और पाइथन स्थापित है। नए अपडेट ने विंडोज़ पर बैश लाया, लेकिन जब मैं अंदरूनी बैश से पायथन कहता हूं, तो यह पाइथन इंस्टॉलेशन को संदर्भित करता है जो बैश के साथ आया था, न कि विंडोज़ पर स्थापित मेरे पायथन पर। इसलिए, उदाहरण के लिए, मैं उन मॉड्यूल का उपयोग नहीं कर सकता जो मैंने पहले ही विंडोज़ पर स्थापित किए हैं और उन्हें बैश इंस्टॉलेशन पर अलग से स्थापित करना होगा।विंडोज

मैं अपने मूल विंडोज पायथन इंस्टॉलेशन को बैश पॉइंट कैसे बना सकता हूं? मैं देखता हूं कि/usr/bin में मेरे नाम के अंदर "पायथन" के साथ बहुत सारे लिंक हैं, लेकिन मुझे यकीन नहीं है कि कौन से लोगों को बदलना है, और यदि उन्हें विंडोज निर्देशिका में बदलना अलग-अलग निष्पादन योग्य प्रारूपों के कारण भी काम करेगा।

+2

डब्लूएसएल से विंडोज प्रोग्राम चलाने की क्षमता [बैकलॉग पर] है [https://wpdev.uservoice.com/forums/266908-command-prompt-console-bash-on-ubuntu-on-windo/suggestions/ 13284702-जाने-हमें-लॉन्च-windows-प्रक्रियाओं-से-बैश)। – eryksun

+0

अब मैं देख रहा हूं, इसे इंगित करने के लिए धन्यवाद! –

उत्तर

0

आप वर्तमान में बैश के भीतर से विंडोज ऐप्स नहीं चला सकते हैं, लेकिन यह एक ऐसी सुविधा है जिसे हम भावी रिलीज के लिए काम कर रहे हैं। यदि आप पूर्ण होने पर इस सुविधा को प्राप्त करने और चलाने के लिए पहले व्यक्ति बनने के इच्छुक हैं, तो विंडोज 10 अंदरूनी फास्ट-रिंग के लिए साइन अप करना सुनिश्चित करें।

0

मेरे पास विंडोज 10 स्थापित नहीं है, लेकिन मैं बाबुन का उपयोग करता हूं और मुझे एक ही समस्या थी। मैंने पढ़ा है के रूप में उपनाम Windows 10 खोल में अच्छी तरह से काम तो बस अपने अजगर स्थापना निर्देशिका की ओर इशारा करते अपने .bashrc में अन्य नाम जोड़ें:

alias python /mnt/c/Python27/python 
0

आपको कम से कम चार विकल्प हैं:

  1. पूरा निरपेक्ष पथ निर्दिष्ट करें पाइथन निष्पादन योग्य आप उपयोग करना चाहते हैं।
  2. अपने .bashrc फाइल
  3. अपने Bashrc फाइल में पथ चर संशोधित अजगर संस्करण आप उपयोग करना चाहते का स्थान शामिल करने के लिए एक उपनाम परिभाषित करें।
  4. एक निर्देशिका में एक सिम्लिंक बनाएं जो पहले से ही आपके पैथ में है।
+3

वर्तमान में लिनक्स सबसिस्टम विंडोज उपप्रणाली में पीई निष्पादन योग्य लॉन्च नहीं कर सकता है।जाहिर है, वे इस पर विचार कर रहे हैं, और यह अंततः समर्थित होना चाहिए (चाहिए)। मुझे लगता है कि इसे सिस्टम कॉल के 'exec' परिवार में कार्यान्वित किया जा सकता है, या वे एक विशेष "/ bin/cmd" प्रोग्राम जोड़ सकते हैं जो विंडोज़ में cmd.exe का उदाहरण शुरू करता है, जैसे bash.exe प्रारंभ/bin/bash लिनक्स में फिर कोई व्यक्ति विंडोज पायथन को 'cmd/c पायथन' के माध्यम से चला सकता है ... '। – eryksun

+0

@eryksun मैं शायद मूल प्रश्न गलत/गलत समझा। मुझे एहसास नहीं हुआ कि चर्चा के तहत "बाश" वास्तव में विंडोज का हिस्सा है, न कि सिडविन या मिंगव जैसे तीसरे पक्ष के उपकरण। –

+1

देखें [विंडोज़ पर उबंटू पर बैश] (https://msdn.microsoft.com/commandline/wsl/about)। यह विंडोज 10 में एक नया उपप्रणाली है जो लिनक्स ईएलएफ बाइनरी को सीधे एनटी सिस्टम कॉल पर लिनक्स सिस्टम कॉल मैप करके चलाता है। – eryksun

4

विंडोज 10 अंदरूनी सूत्र # 14951 के रूप में, अब आप बैश के भीतर से विंडोज एक्जिक्यूटिव का आह्वान कर सकते हैं।

आप, या बैश पथ के लिए निष्पादन योग्य के पथ को जोड़ने (यदि वह पहले नहीं है), और सिर्फ बुला, उदाहरण के लिए, notepad.exe द्वारा स्पष्ट रूप से एक निष्पादन योग्य (जैसे c:\Windows\System32\notepad.exe) का निरपेक्ष पथ को फोन करके ऐसा कर सकते हैं।

नोट: निष्पादन के नाम के .exe संलग्न करने के लिए सुनिश्चित करें - इस मामले में WSL - यह कैसे लिनक्स जानता है कि आप कुछ विदेशी और मार्गों पंजीकृत हैंडलर को मंगलाचरण अनुरोध लागू कर रहे हैं।

तो, आपके मामले में, यदि आप सेल्सियस पर विंडोज पर पायथन 2.7 स्थापित किया है: \, आप इसे बैश के भीतर से इस तरह एक आदेश का उपयोग आह्वान हो सकता है:

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

(या इसी तरह - जांचें कि आपने प्रत्येक फ़ोल्डर/फ़ाइल नाम सही तरीके से निर्दिष्ट किया है, आदि)

एचटीएच।

+0

जब मैं ऐसा करता हूं, तो मुझे त्रुटि मिलती है "बाइनरी फ़ाइल निष्पादित नहीं कर सकता: निष्पादन त्रुटि त्रुटि"। बस स्पष्ट होने के लिए, यह पाइथन की विंडोज़ स्थापना चलाएगा और पायथन की डब्लूएलएस स्थापना नहीं करेगा, सही? – tallen11