मैं इस प्रश्न को उपसर्ग कर दूंगा: नहीं, IRONPYTHONPATH सेट करना उत्तर नहीं है।आयरनपीथन में मानक लाइब्रेरी का उपयोग कैसे करते हैं?
वैसे भी ...
मैं IronPython एक परियोजना के लिए Powershell के लिए एक स्थानापन्न के रूप में प्रयोग पर योजना बना रहा था, लेकिन मैं इससे पहले कि मैं भी शुरू कर दिया है स्टम्प्ड किया गया है।
बहुत पहली बात मैं करने की कोशिश की उपयोग os.path, जिसका परिणाम था:
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: No module named os
चारों ओर खिलवाड़ करने के बाद मैं अंत में मैं पथ के लिए मैन्युअल रूप से इसे जोड़कर मानक पुस्तकालय इस्तेमाल कर सकते हैं की खोज की:
import sys
sys.path.append(r"C:\Program Files\IronPython 2.7\Lib")
import os
हालांकि, यह एक कठिन विचार है। मेरी स्क्रिप्ट के अंदर पायथन लाइब्रेरी के पथ को हार्ड कोडिंग करना किसी बिंदु पर काम नहीं करने का 100% गारंटीकृत तरीका है।
मैंने इसे लगभग तुरंत खोजा जब मैंने विंडोज 7 मशीन पर स्क्रिप्ट का उपयोग करने की कोशिश की और पथ थोड़ा अलग था ('प्रोग्राम फ़ाइलें (x86)')।
तो, सवाल यहां के एक जोड़े:
1) इतना कठिन क्यों मानक पुस्तकालय का उपयोग है? कम से कम मैंने सोचा होगा कि वीएस में इंटरैक्टिव प्रॉम्प्ट और मूल ipy.exe के पास यह होगा।
2) मैं जिस प्रणाली का उपयोग कर रहा हूं उसके बावजूद लोहे की पाइथन स्थापित की गई निर्देशिका को मैं कैसे निर्धारित कर सकता हूं? (आयरनपीथन इंस्टालर शायद एक var सेटिंग?)
बस यहां एक नोट; हां, मैंने कुछ अन्य पदों को देखा है, "अपना इरोनिपिथोन सेट करें"। यह अनुपयोगी में है।
1) स्थापित करें IronPython
2) कुछ पागल powershell स्क्रिप्ट चलाएं जहां-कभी-बिल्ली मानक पुस्तकालय स्थापित किया गया था बाहर खोज करने के लिए और एक वैश्विक सेट: अगर मैं एक खाली मशीन का मतलब है कि मैं करने के लिए है IRONPYTHONPATH इसके लिए चर।
3) रन अजगर स्क्रिप्ट
मैं एक बेहतर तरीका की तलाश में हूँ।
-
संपादित करें:
तथ्य मैं इस चीजों की तरह powershell मूल रूप से कोई वास्ता नहीं है ऐसा करने के लिए उपयोग कर रहा हूँ, लेकिन मैं की तरह कुछ प्राप्त करने के लिए कोशिश कर रहा हूँ:
import clr
from System.Management.Automation import RunspaceInvoke
import os
scriptRoot = os.getcwd()
runSpace = RunspaceInvoke()
cmdPath64 = os.join(scriptRoot, "..\java\...")
cmdPath32 = os.join(scriptRoot, "..\java\...")
proc = runSpace.Invoke("Get-WmiObject Win32_Processor ... ")
if proc.AddressWidth == 32:
runSpace.Invoke(cmdPath32)
else:
runSpace.Invoke(cmdPath64)
क्या आप एक उदाहरण स्क्रिप्ट दिखा सकते हैं कि आप क्या करने की कोशिश करेंगे और आप इसका उपयोग कैसे करना चाहते हैं? मुझे यकीन नहीं है कि मैं समझता हूं कि समस्या क्या है। –
ऊपर संपादित देखें। हालांकि यह मेरे प्रश्न के लिए मूल रूप से अप्रासंगिक है। – Doug