2016-12-24 76 views
0

我已經在Visual Studio中設置了Python/Django應用程序,它工作正常。我還可以使用Django的命令,如果我打開從Visual Studio提示本身喜歡:爲什麼我不能在Visual Studio之外運行django應用程序?

Opening cmd from visual studio

和命令行運行正常從那裏:

Running commands from visual studio cmd

但是如果我手動打開CMD,進入到同一文件夾中運行相同的命令,我得到:

Command line failing

爲什麼我無法從未從Visual Studio打開的命令行運行它?有時我只想manage.py運行服務器,但我需要打開Visual Studio,運行該命令,然後關閉它並保持提示打開。

  1. 有一些方法可以避免使用Visual Studio來運行這些django命令嗎?
  2. 我也有興趣在Visual Studio Code中開發這樣的django應用程序,我怎麼能配置它在那裏運行?

觀測值:我的ENV是一個Python 3.X +的Windows 10 +的Visual Studio 2015年

回答

1

你以前曾經使用過virtualenv嗎?它看起來像VS爲你創建一個env。當您在VS之外運行項目時,您需要確保VS之外的環境符合您的VS要求。這很簡單。

首先,如果你尚未安裝的virtualenv,運行

pip install virtualenv 

然後創建一個新的文件夾,cd到命令行的新文件夾。通過運行

virtualenv env 

這將創建一個名爲「ENV」新的虛擬環境中創建一個新的virtualenv。您會在您的活動目錄中看到一個名爲'env'的新文件夾。這會存儲您安裝到此環境的所有庫。

接下來,你需要通過運行來激活您的環境:

env\scripts\activate 

你會看到(ENV)或任何你在命令提示符的開頭這樣命名您的ENV:

(env)C:\ path \ new_folder>

現在,您使用的只是安裝了python的新env。您可以運行pip freeze來查看環境當前安裝的內容。應該是(大部分)空的列表。現在您可以安裝django了

pip install django 

再次運行pip freeze,您應該會看到在您的環境中安裝的最新版本的django。您需要確保您使用的是Visual Studios正在使用的相同版本的django。測試這個最簡單的方法是進入VS命令行工具並運行pip freeze。您將看到項目使用的完整需求列表。應該有在項目目錄某處requirements.txt文件,如果不從VS命令行運行重新創建一個新的:

pip freeze > requirements.txt 

這只是創建一個新的txt文件與你看到運行PIP同一列表凍結。所有Python/Django項目[應該]都有它們。這樣,任何想要運行項目的人都應該能夠創建一個(儘可能)與您本地計算機上相同的環境。

您需要做的最後一件事是安裝您的VS項目中的任何其他需求。我們已經從你的Windows命令行創建一個新的文件requirements.txt所以現在(請確保您的ENV仍然激活)更改目錄到包含requirements.txt文件中的一個最後運行:

pip install -r requirements.txt 

這將安裝所有新虛擬環境所需的軟件包。如果從Windows命令行運行pip freeze,則應該看到與從VS中運行它完全相同的列表。現在你應該能夠cd到包含manage.py的目錄,並且運行你的django項目沒有問題。

這可能在開始的時候有些壓倒性的,但是隨着你開始在VS之外使用python/django,它變成了第二天性。爲您的每個項目創建新的virtualenv以保持所有需求獨立是有道理的。這樣你就不會遇到問題。

+0

它沒有迴應我的疑問,但從現在開始,我可以在我的VS之外運行django,這很好:D感謝您提供了非常詳細的答案!問候 – Latrova

0

我可以假設你正在使用不同的解釋,這意味着:第二個沒有安裝的Django。請檢查或取消截圖中的路徑。

另外你可能想考慮PyCharm的Django開發,它更方便,並有更多的功能。

0

它看起來像是django安裝在Visual Studio的虛擬環境中。要使其在全球範圍內工作,您應該在您的計算機上全局安裝django。要做到這一點,你應該遵循這個步驟:

  1. 安裝piphttps://pip.pypa.io/en/stable/installing/
  2. 通過PIP安裝Django:pip install django

之後,Django將沒有任何安裝IDE一起工作。

+0

我很想使用虛擬env,我無法通過正常的命令行激活visual studio的虛擬env? – Latrova

+0

你應該知道你的虛擬環境的確切路徑。要激活它,有一個命令:'source/path/to/your/project/dev/venvs/proj/bin/activate'。也許它會幫助你。我不確定虛擬環境在Visual Studio中的確切位置。 – Fomalhaut

+0

@Formalhaut它看起來像是在'path/to/project/env/Scripts/activate'上,但即使使用它,錯誤也不會改變。會是什麼呢? – Latrova

相關問題