2016-04-13 60 views
1

Python'u bir C# -application içine gömmeye çalışıyorum ama işe yaramaya gelemiyorum. Ben bu sınıfın bir örneğini oluşturmaya çalışırken KodumPythonEngine.Initialize() herhangi bir hata mesajı olmadan hata veriyor

using System; 
using Python.Runtime; 

namespace NLP.Python 
{ 
    public class PythonRumtime 
    { 
     public PythonRuntime() 
    { 
     //Location of python installation 
     PythonEngine.PythonHome = "C:\\Python27"; 
     PythonEngine.Initialize(); 
    } 
    } 
} 

olduğunu, kod PythonEngine.Initialize() çağrılırken zaten dll dosyası Python.Runtime bir başvuru eklemiş hatasız başarısız Bu pythonnet ile kuruldu.

Başka ne yapacağımı bilmiyorum.

Pythonnet 2.1.0 bir 32-bit yükleme ile Windows 64-bit bir makinede pythonnet-2.1.0 pip yükledim.

DÜZENLEME Bu hata, Python.Runtime.dll dosyasındaki Py_Initialize() çağrısında gerçekleşir. https://docs.python.org/2/c-api/init.html'a göre "Dönüş değeri yok; başlatma başarısız olursa, önemli bir hatadır."

+1

Sorun olup olmadığından emin değilsiniz, ancak "PythonHome" dizesini @ "C: \ Python27" veya "C: \\ Python27" olarak değiştirmeniz gerekir. '' '' Kaçmak zorunda. – pstrjds

+1

@pstrjds Üzgünüz, bu kodumu yapıştırırken biçimlendirme hatasıydı. Sorumu – SonOfX

+2

düzenledim Hata yoksa, bunun nasıl başarısız olduğunu biliyor musunuz? –

cevap

0

Bu piton 2.7.11 için resmi pencereler yükleyici Python.org bir hata olduğunu 32 bit:

https://bugs.python.org/issue25824

Anaconda, belki WinPython veya python 2.7.10 deneyin.

+1

çağrısına neden olduğunu ortaya çıkardı. Bu, "PythonEngine.PythonHome =" C: \\ Python27 "satırının kaldırılmasıyla birleştirildi;” hile yaptı. Teşekkürler! – SonOfX

+0

pythonhome veya pythonpath ile ilgili açık bir sorun var: https://github.com/pythonnet/pythonnet/pull/186 – denfromufa