2014-01-31 35 views
1

我在這裏找到了教程如下:http://www.windowsazure.com/en-us/documentation/articles/cloud-services-web-sites-python-django-app-with-ptvs/PTVS + Django的:我爲什麼不能導入Python庫

我已經有Django的安裝在我的系統上。按照本教程中的說明操作後,我注意到它似乎再次安裝了django,但是這次是在我的項目文件夾下(myproject/env/Lib/site-packages)。 這是爲什麼?

我遇到的另一個問題是,如果我嘗試導入某些庫使用Visual Studio編輯器,它無法找到導入。但是,如果在交互式窗口中執行此操作,它確實會識別導入。另外,如果創建一個獨立的python(不是django)項目,我可以很好地導入這些庫。 有關爲什麼會發生這種情況以及如何解決的任何想法?

回答

1

本教程使用Python virtual environments(virtualenv),您需要將它用於將您的網站部署到Azure。虛擬環境基本上是一個獨立的Python環境,它有自己的一套庫(站點包等),與您的主要解釋器不同。它允許您爲特定網站提供特定版本的軟件包,與其他網站的軟件包不同。

如果你不打算將其部署到Azure中,你不需要虛擬ENV - 你可以跳過步驟創建它,而不是直接安裝Django和其他的包到主解釋。如果您計劃部署到Azure,則需要虛擬env,因爲安裝在Azure虛擬機上的主解釋器不具有除標準庫中的模塊以外的任何其他模塊。

Python Interactive窗口允許您導入包的原因是您正在使用的實例是用於您的主要解釋器。每個已註冊的解釋器和已打開項目中的每個虛擬環境都有其獨立的Python交互式窗口。您可以從Python環境窗口打開虛擬環境的窗口,該窗口可通過工具 - > Python工具 - > Python環境獲得。

+0

我發現,如果我使用「添加/刪除Python環境」而不是「添加虛擬環境」,它會提取所有已安裝的東西,因此我不必再次下載/安裝它們,因爲如果我使用了虛擬環境。我猜想,當我準備部署到Azure時,我會創建一個VE,然後執行安裝。但現在,這使我得到了更少的麻煩。 – mike01010

+0

「添加/刪除Python環境」基本上只是將給定的Python安裝與您的項目相關聯,以便在運行時使用它。使用它並沒有什麼壞處,但如果您的系統上只運行一個Python,則不需要它,因爲PTVS將始終使用它來運行。在這種情況下明確添加環境的唯一好處是,如果您稍後在其他系統上使用其他安裝的Pythons打開項目,並選擇不同的解釋器作爲默認設置。 –

相關問題