سؤال

أقوم بإنشاء تطبيق بايثون من بعض أكواد المصدر التي وجدتها هنا

لقد تمكنت من تجميع بعض المشكلات وإصلاحها من خلال البحث في الويب، لكنني عالق في هذه المرحلة:

عند تشغيل التطبيق تظهر هذه الرسالة

نص بديل http://img511.imageshack.us/img511/4481/loadfr0.png

يستخدم تطبيق python هذا swig للارتباط بكود c/c++.

لدي إصدار VC ++ 2005 Express الذي اعتدت تجميعه مع Scons و Python 2.5 (وحاول 2.4 أيضًا)

ملفات dll التي تحاول تحميلها هي "msvcr80.dll" لأنه قبل أن تكون الرسالة "msvcr80.dll" لا يمكن العثور عليها أو شيء من هذا القبيل، لذلك حصلت عليها وأسقطتها في مجلد window32.

بالنسبة لما قرأته هنا:http://msdn.microsoft.com/en-us/library/ms235591(VS.80).aspx

الحل هو تشغيل MT مع البيان وملف dll.لقد فعلت ذلك بالفعل ولا يعمل أيضًا.

هل يمكن لأحد أن يوجهني إلى الاتجاه الصحيح؟

وهذا هو محتوى البيان المبين:

<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type='win32' name='Microsoft.VC80.CRT' version='8.0.50608.0' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
    </dependentAssembly>
  </dependency>
</assembly>

سأحاول تجربة Python 2.6 الآن، لست متأكدًا تمامًا من فهم المشكلة، لكن Python 2.5 وPython 2.5 .exe كان لديهما السلسلة "MSVCR71.dll" داخل ملف .exe.ولكن ربما هذا ليس له علاقة.

ملاحظة.لو كان كل شيء سهلاً مثل ملفات jar :(

هذا هو تتبع المكدس للاكتمال

None
INFO:root:Skipping provider enso.platform.osx.
INFO:root:Skipping provider enso.platform.linux.
INFO:root:Added provider enso.platform.win32.
Traceback (most recent call last):
  File "scripts\run_enso.py", line 24, in <module>
    enso.run()
  File "C:\oreyes\apps\enso\enso-read-only\enso\__init__.py", line 40, in run
    from enso.events import EventManager
  File "C:\oreyes\apps\enso\enso-read-only\enso\events.py", line 60, in <module>
    from enso import input
  File "C:\oreyes\apps\enso\enso-read-only\enso\input\__init__.py", line 3, in <module>
    _input = enso.providers.getInterface( "input" )
  File "C:\oreyes\apps\enso\enso-read-only\enso\providers.py", line 137, in getInterface
    interface = provider.provideInterface( name )
  File "C:\oreyes\apps\enso\enso-read-only\enso\platform\win32\__init__.py", line 48, in provideInterface
    import enso.platform.win32.input
  File "C:\oreyes\apps\enso\enso-read-only\enso\platform\win32\input\__init__.py", line 3, in <module>
    from InputManager import *
  File "C:\oreyes\apps\enso\enso-read-only\enso\platform\win32\input\InputManager.py", line 7, in <module>
    import _InputManager
ImportError: DLL load failed: Error en una rutina de inicializaci⅘n de biblioteca de vÝnculos dinßmicos (DLL).
هل كانت مفيدة؟

المحلول

ولقد كنت قادرا على ترجمة وتشغيل النينيو باستخدام / LD كما علم مترجم. هذه الروابط بشكل حيوي البصرية وقت التشغيل MS C ++، ويبدو أن تسمح لك للحصول على بعيدا دون البيان.

إذا كنت تستخدم SCons، راجع الملف فرق هنا: http://paste2.org/p/ 69732

نصائح أخرى

وعند النظر إلى التحديث، يبدو أنك تحتاج إلى تثبيت Pycairo منذ كنت في عداد المفقودين وحدة _cairo تثبيت كجزء من Pycairo. انظر Pycairo تنزيل صفحات للحصول على تعليمات حول كيفية الحصول على / تثبيت ثنائيات ويندوز.

وربما كنت بحاجة إلى تثبيت VC ++ redistributables وقت التشغيل. الروابط لهم هي هنا .

تحديثلقد قمت بتنزيل إصدار python2.6 وVS C++ Express لعام 2008 وانتهت مشكلة msvcr80.dll (أفترض أن Python وVSC++2008xe يستخدمان msvscr90.dll)

لقد قمت بالتجميع مع /LD وجميع التغييرات المدرجة هنا: http://paste2.org/p/69732

والآن المشكلة كالتالي:

INFO:root:Skipping provider enso.platform.osx.
INFO:root:Skipping provider enso.platform.linux.
INFO:root:Added provider enso.platform.win32.
INFO:root:Obtained interface 'input' from provider 'enso.platform.win32'.
Traceback (most recent call last):
  File "scripts\run_enso.py", line 23, in <module>
    enso.run()
  File "C:\oreyes\apps\enso\enso-comunity\enso\__init__.py", line 41, in run
    from enso.quasimode import Quasimode
  File "C:\oreyes\apps\enso\enso-comunity\enso\quasimode\__init__.py", line 62, in <module>
    from enso.quasimode.window import TheQuasimodeWindow
  File "C:\oreyes\apps\enso\enso-comunity\enso\quasimode\window.py", line 65, in <module>
    from enso.quasimode.linewindows import TextWindow
  File "C:\oreyes\apps\enso\enso-comunity\enso\quasimode\linewindows.py", line 44, in <module>
    from enso import cairo
  File "C:\oreyes\apps\enso\enso-comunity\enso\cairo.py", line 3, in <module>
    __cairoImpl = enso.providers.getInterface( "cairo" )
  File "C:\oreyes\apps\enso\enso-comunity\enso\providers.py", line 137, in getInterface
    interface = provider.provideInterface( name )
  File "C:\oreyes\apps\enso\enso-comunity\enso\platform\win32\__init__.py", line 61, in provideInterface
    import enso.platform.win32.cairo
  File "C:\oreyes\apps\enso\enso-comunity\enso\platform\win32\cairo\__init__.py", line 1, in <module>
    from _cairo import *
ImportError: No module named _cairo
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top