Я могу создавать сценарии Python и динамически запускать их через Visual Studio / .NET 4.0, например:
# testScript.py file:
import sys
sys.path.append(r'C:\Program Files (x86)\IronPython 2.7.1\Lib')
import os
os.environ['HTTP_PROXY'] = "127.0.0.1:8888"
import urllib2
response = urllib2.urlopen("http://www.google.com")
, затем в проекте WinNET Forms .NET 4.0:
ScriptEngine engine = Python.CreateEngine();
ScriptSource script = engine.CreateScriptSourceFromFile("testScript.py");
ScriptScope scope = engine.CreateScope();
script.Execute(scope);
Однако импортируемые DLL-библиотеки IronPython не содержат всех стандартных модулей, поэтому мне нужно выполнить шаг
import sys
sys.path.append(r'C:\Program Files (x86)\IronPython 2.7.1\Lib')
, чтобы я мог запустить следующие 4 строки.
Есть ли способ, которым я могу избежать этого?
Я собираюсь опубликовать приложение, и я не хочу полагаться, что путь к файлу будет одинаковым на всех компьютерах!