2008-11-23 161 views
65

我已經更新到最新的Django版本1.0.2後卸載我的舊Django version.But現在當我運行django-admin.py時,我得到以下錯誤。我該如何解決這個問題?No Module named django.core

Traceback (most recent call last): 
    File "C:\Python25\Lib\site-packages\django\bin\django-admin.py", line 2, in <module> 
    from django.core import management 
ImportError: No module named django.core 
+1

貌似 '過時路徑' 的問題。不能說。在Python shell中,你能夠成功執行`import django`和/或`from django.core import management`嗎? – ayaz 2008-11-23 14:31:55

+0

是的,我可以做到沒有任何錯誤 – Poorna 2008-11-23 14:39:38

+1

您是否安裝了多個Python版本?你如何調用django-admin? – ayaz 2008-11-23 16:52:02

回答

36

您必須確保Django是在您的PYTHONPATH。

要測試,只需從python shell執行import django即可。不應該有輸出:

ActivePython 2.5.1.1 (ActiveState Software Inc.) based on 
Python 2.5.1 (r251:54863, May 1 2007, 17:47:05) [MSC v.1310 32 bit (Intel)] on win32 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import django 
>>> 

如果安裝通過setuptools的Django(easy_install,或者用附帶的Django的setup.py),然後檢查你的site-packages如果.pth文件(easy-install.pthdjango.pth,...)點到正確的文件夾。

HIH。

8

我敢肯定,這關係到我的設置不正確的數據,但我有同樣的問題,而且它正常工作,如果我正是如此

c:\somedir>python c:\Python26\scripts\django-admin.py startproject mysite 
0

像往常一樣調用它,安裝腳本無法設置世界讀取/執行權限:) 這樣做:

sudo find /usr/lib/python2.5/site-packages/django -type d -exec chmod go+rx {} \; 
sudo find /usr/lib/python2.5/site-packages/django -type f -exec chmod go+r {} \; 
21

你可以提供你的django-admin.py文件的完整路徑解決這個問題

python c:\python25\scripts\django-admin.py startproject mysite 
16

我今天遇到了這個問題,事實證明,我有C:\ Python26在我的路徑和.py文件進行關聯到Python 3.1。通過程序和功能修復適當版本的Python,或者通過運行.msi修復相關聯。

5

這個工作對我bitnami djangostack:

python apps\django\django\bin\django-admin.py startproject mysite 
1

如果你的路徑變量是正確的,從Python外殼,你可以這樣做:從django.core進口管理,確保你包括「蟒蛇」之前「django-admin.py」本身:蟒蛇django-admin.py startproject命令thelittlethings

0

感謝張貼的問題和答案。我有兩種版本的Python安裝,但根指着到/ usr/bin中的版本,我想在/ usr/local/bin目錄使用2.7版本的Python。重建/重新安裝Django和MySQLdb的之後,一切都很好,我沒有收到錯誤。

0

小速戰速決就是創建符號鏈接ln -s $SOMEWHERE/lib/python2.6/site-packages/django/ ./django

0

我有同樣的問題,很明顯,我有一個PYTHONPATH配置問題。解決的辦法很簡單,只要在你的PYTHONHOME\Lib\site-packages目錄中創建具有此名稱django.pth一個文件,其中PYTHONHOME是安裝Python的目錄(我的是:C:\ Python27)。以下行添加到django.pth文件:

PYTHONHOME\Lib\site-packages\django 

當然,你必須改變PYTHONHOME到你的Python的安裝目錄爲我解釋。

請注意,您可以編輯django.pth以包含任何想要包含在PYTHONPATH中的目錄。實際上,您可以根據需要命名該文件,例如path.pth,如果您希望它更通用幷包含多個目錄路徑。

2

我在Windows XP中有同樣的問題。原因是我安裝了多個python版本(2.6,3.2).windows的PATH被正確設置爲python26,但是.py文件與python32相關聯。我想要.py文件與python26相關聯。要解決它,簡單的方法是右鍵單擊* .py(例如django-admin.py),選擇「open with」 - >「選擇程序...」 - >「瀏覽...」(選擇c:\ python26 \ python.ext) - >「確定」。然後,我們可以在cmd中運行django-admin.py,而不需要詳細的前綴「c:\ python26 \ lib \ site-packages \ django \ bin」。

1

雖然不是最優雅的最簡單的解決方案是從腳本文件夾複製django-admin.py。腳本文件夾將在您的Python安裝下找到。在我的電腦上,它位於C:\ Python26 \ Scripts中。然後將django-admin.py粘貼到您嘗試運行該文件的文件夾中。 確實,使用系統路徑會給予靈活性。如果您匆忙,這是一個特殊的解決方案。然後鍵入例如python django-admin.py startproject fluffyteaspoons,然後您將創建項目絨毛羹勺

10

對於我來說這是一個PYTHONPATH環境變量問題,就像上面提到的其他人一樣,但沒有人真正展示過如何爲人們設置它可以使用額外的指令。

的Linux(bash)的

我在我的主文件夾設置在我的.bashrc文件中這個變量(.bashrc中是我的文件,因爲我的shell是/斌/慶典)。

vim ~/.bashrc 
export PYTHONPATH=/usr/local/python-2.7.2/lib/python2.7/site-packages:$PYTHONPATH 
source ~/.bashrc 

該路徑應該在你的django源文件的任何位置。 Mine位於/usr/local/python-2.7.2/lib/python2.7/site-packages/django,所以我只是指定了/usr/local/python-2.7.2/lib/python2.7/site-沒有django部分的包。

OSX

在OSX的路徑是/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages,你可以把它添加到/etc/profile

sudo echo "PYTHONPATH=/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages:$PYTHONPATH" >> /etc/profile 
source /etc/profile 
1

在我的情況,我在OS X Lion中,我已經安裝了Python與homebrew 我得到了同樣的錯誤,但沒有發佈在這裏的解決方案幫助我。在我的情況下,我不得不編輯腳本:

vim /usr/local/share/python/django-admin.py 

而且我注意到,第一行是錯誤的,因爲它是指向系統的Python安裝:

#!/usr/bin/python 

我只是把它修飾成點自制的安裝:

#!/usr/local/bin/python 

和它的工作:)

1

我知道,這是一個老問題,但我只是有同樣的問題,在我的情況下, ,這是因爲我與django使用virtualenv,但。Windows中的py文件擴展名與Python主安裝相關聯,所以直接從命令提示符運行django-admin.py會導致它在沒有安裝django的情況下與主Python安裝一起運行。

因此,由於我不知道在Windows中是否有任何散列磅等價物,我通過運行python,然後運行django-admin.py的完整路徑來解決此問題,或者也可以將virtualenv批處理腳本修改爲更改文件關聯並在停用時將其更改(雖然我不確定如何操作,因爲我對批處理腳本不太熟悉)。

希望這有助於

39

我在Windows上同樣的問題,看來我已經找到了問題。我安裝了2.7和3.x。看來它是與的.py的聯營計劃:

在命令行輸入:

assoc命令的.py

,其結果是:

的.py = Python.File

這意味着.py與Python關聯。文件

然後我嘗試這樣做:

FTYPE Python.File

我得到:

Python.File = 「C:\ Python32 \ python.exe」 「%1」 %*

這意味着在命令行.py與我的Python 3.2安裝相關 - 這就是爲什麼我不能只輸入「django-admin.py等等等等」來使用django。

所有你需要做的是改變的關聯:

FTYPE Python.File = 「C:\ Python27 \ python.exe」 「%1」 %*

然後everythong沒關係!

0

呃..我做了一些激進的事情。我unistall python和我刪除環境Variables/PATH this: ;C:\Python26\Scripts;C:\Python26. 和它的工作... 我有你的問題之前。

1

這個工作在Mac OS X

在終端執行python 在蟒蛇: 進口SYS 打印sys.path的

查找站點包路徑。我發現這在sys.path的輸出: '/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages'

exit python。找到您當前的網站包的位置。我在/ Library/Python/2。6/site-packages

現在要小心:檢查站點包的內容以確保它是空的。也就是說,目錄/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages應該是空的,或者只包含自述文件。如果是,請刪除該目錄,因爲您現在即將創建符號鏈接。

LN -s /Library/Python/2.6/site-packages /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages

如果不刪除文件夾,你會把符號鏈接放在文件夾中。

其他選項是將路徑添加到sys.path。我選擇了符號鏈接路由,因爲我有幾個python版本,我不想要幾個版本的Django,只是想指向已知的工作副本。

2

我有同樣的問題,並回想起我在前一天下午安裝了iPython。我卸載了iPython,問題就消失了。順便說一下,我正在與virtualenv合作。我在系統範圍的site-packages目錄中安裝了iPython,因此我只是在每個我正在使用的virtualenv中重新安裝iPython。昨天安裝iPython後,我注意到一個警告信息(從iPython 0.13版本開始),它檢測到我使用的是virtualenv,如果遇到任何麻煩,我應該在每個virtualenv中安裝iPyton。

1

我剛剛在Windows Vista中安裝了Python 2.7和3.2並在Python 2.7和Django 1.4.3上使用virualenv的ImportError。

我將資源管理器中的.py文件的文件關聯從3.2更改爲2.7。右鍵單擊.py文件並更改設置。我仍然有ImportError。

我以管理員身份運行cmd.exe,並複製了之前的ftype。出現錯誤後,注意到雙引號不能正確地從瀏覽器複製到cmd。在cmd中重寫了該命令,但我仍然得到ImportError。

在激活的虛擬環境的根目錄中,我明確地給出了python命令以及從那裏到django-admin.py的路徑。 (env_p27) C:\Users\Gemmu\env_p27>python .\Scripts\django-admin.py startproject mysite

工作。

感謝所有人的幫助。

7

如果您使用的是Windows,那麼不要使用'django-admin.py'運行,因爲這會調用您的外部python.exe執行,並且它無法讀入虛擬環境中的django。試試'python django-admin.py'在你的環境中使用你的python.exe。

1

這發生在我身上,因爲我跑pipsudo,而我的virtualenv是設置,以便Django的安裝爲root用戶,但不是在virtualenv中不導入外部網站的包,即使當我跑須藤我的virtualenv激活。

解決方案切換到root,激活venv然後做pip安裝。

0

我意識到這一點,因爲我沒有運行python setup.py install。這設置了環境。

0

要說明什麼lichenbo說...如果您使用的是Windows,那麼請勿使用'django-admin.py'運行...

我運行一個虛擬環境中,這樣的路徑和命令來創建一個新項目的樣子:

(DjangoEnv) C:\users\timreilly\Envs\django\Scripts\django-admin.exe startproject myproject 

DjangoEnv是我的虛擬環境的名稱。

0

閱讀了很多後,我發現了一個適合我的解決方案。

django version 1.9.2 
  1. 將所有系統變量「路徑」。沒有在用戶變量也不在PYTHONPATH副本。 enter image description here

  2. 然後在註冊表編輯器設定值

enter image description here

  • 所需的文件夾中由命令

    的virtualenv VENV

  • 製成的的virtualenv
  • 最後以cm d

  • 使用命令

    django-admin.py startproject MySite 
    
    ***and not this*** 
    
    python django-admin.py startproject MySite 
    

    在 「VENV」

    的根文件夾和它的工作