簡體   English   中英

使用Kivy和Python 3.4

[英]Using Kivy with Python 3.4

我在Mac上安裝了Kivy。 OS X隨Python 2.7一起安裝。 我想使用Python 3的枚舉功能,所以我安裝了Python 3.4。 經過大量的搜索和頭發,我被指向這條線

exec $(python -c "import os, sys; print os.path.normpath(sys.prefix)")/bin/python2.7 "$@"

在文件/Applications/Kivy.app/Contents/Resources/script中。 我改成了:

exec /Library/Frameworks/Python.framework/Versions/3.4/bin/python3.4 "$@"

希望強迫Kivy使用Python 3.4。

我現在得到這個錯誤:

Traceback (most recent call last):
  File "main.py", line 1, in <module>
    from kivy.app import App
  File "/Applications/Kivy.app/Contents/Resources/kivy/kivy/app.py", line 321, in <module>
    from kivy.base import runTouchApp, stopTouchApp
  File "/Applications/Kivy.app/Contents/Resources/kivy/kivy/base.py", line 29, in <module>
    from kivy.event import EventDispatcher
  File "/Applications/Kivy.app/Contents/Resources/kivy/kivy/event.py", line 8, in <module>
    import kivy._event
ImportError: dlopen(/Applications/Kivy.app/Contents/Resources/kivy/kivy/_event.so, 2):    Symbol not found: _PyString_Type
  Referenced from: /Applications/Kivy.app/Contents/Resources/kivy/kivy/_event.so
  Expected in: flat namespace
 in /Applications/Kivy.app/Contents/Resources/kivy/kivy/_event.so

任何人都可以幫助修復此錯誤? 或者有更好的方法讓Kivy使用Python 3.4嗎?

我已經安裝了Kivy 1.8.0。

我正在從終端運行應用程序,例如

kivy main.py

這一行:

dlopen(/Applications/Kivy.app/Contents/Resources/kivy/kivy/_event.so, 2)

正在嘗試打開一個共享對象,該對象本來是為您安裝Kivy的Python的顯式版本編譯的。

任何包含預編譯依賴項的Python包只適用於編譯它們的Python版本。

Kivy尚未使用Python 3.4進行測試。 它在Python 3.3中運行良好。

我已經開始使用Python 3.5在OSX El Capitan上工作了。 這就是我做到的。

您將需要brew安裝依賴項,然后修改setup.py以使用brew安裝的依賴項。 默認的setup.py將查看您的frameworks目錄,但這不是brew放置新文件的位置!

我能夠為python 3.5安裝kivy。 我沒有做任何額外的事情,只需定期安裝kivy並且它正在工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM