2017-07-10 32 views
1

我最初在沒有virtualenv的情況下在Mac上安裝了Cython和Kivy,但決定在事實之後在我的項目中創建一個virtualenv。我卸載了Cython和Kivy,然後用我的virtualenv活動重新安裝(沒有sudo)。當virtualenv處於活動狀態時,'沒有名爲kivy的模塊'?

當我運行'pip freeze'時列出了kivy,但是當我嘗試運行我的代碼時,它返回錯誤:'ImportError:No module named kivy'。當我禁用我的virtualenv程序運行良好。

我想我在第一次學習Django時遇到了類似的問題。任何人都可以啓發我這是什麼原因?我知道我錯過了一些關於模塊和virtualenv的基礎知識。

此外,我會在哪裏找到kivy安裝,在virtualenv的內部和外部? pip在哪裏安裝?根據我的理解,我所問的並不是凱維獨有的。

在此先感謝您的見解!

只是用第一示例應用kivy給出:

import kivy 
kivy.require('1.0.6') # replace with your current kivy version ! 

from kivy.app import App 
from kivy.uix.label import Label 


class MyApp(App): 

    def build(self): 
     return Label(text='Hello world') 


if __name__ == '__main__': 
    MyApp().run() 
+0

你使用什麼命令來運行你正在使用的Python版本?/ –

+0

你可以導入kivy並打印kivy .__ file__來查看它的安裝位置。 – Tshirtman

+0

python 2,只是從終端運行python main.py。進口kivy沒有工作。目前我只使用全局軟件包,但顯然這不是解決方案。 –

回答

0

pip freeze顯示全局和本地包;您已經將Kivy安裝爲全局程序包,但在虛擬環境中,只有本地程序包可用於Python。

無論是在虛擬環境(pip install激活VENV後)安裝Kivy或者訪問全球封裝(重新VENV與選項--system-site-packages或virtualenvwrapper使用命令toggleglobalsitepackages)。

+0

謝謝,我真的不明白全球軟件包是如何與virtualenvs混合的。當我嘗試一下時,我會投票作爲最佳答案。 –

相關問題