關於學習Flask過程中Python虛擬環境的激活問題?

本人Python菜鳥,在參考《Flask Web開發》(圖靈社區 : 圖書 : Flask Web開發:基於Python的Web應用開發實戰)這本書學習。搭建開發環境的過程中,可以按照書上的步驟,用Git(Git - Downloads)客戶端clone代碼、切換版本,正常進行到virtualenv創建虛擬環境文件夾venv,再往下的激活步驟,輸入命令「venvScriptsactivate」後就報錯:command not found(以上命令是在Git Bash中輸入的)。但是直接在activate文件夾下運行系統的命令行,可以正常運行activate文件,激活進入虛擬環境。在這裡卡住好幾天了,百度谷歌了各種方法都沒能解決問題。

我的疑惑是:

1. 系統命令行進入的虛擬環境,是系統全局的,還是只是所打開的命令行局部的?這裡對於虛擬環境的作用範圍不理解,可以的話麻煩講解下。謝過!

2. 為什麼我完全照做書本上的步驟卻無法走通,這樣往後面學總覺得心裡不踏實。

作為新手,對所用的工具、虛擬環境的概念都不夠熟悉,這個問題可能比較小白,還請各位多多指教!

附教程截圖:

命令行報錯截圖:

補一張系統命令行激活虛擬環境的截圖,簽名多了&


謝邀

這是問題是典型的基因不符

Git Bash是典型的Linux風格,有內置ls等命令,所以應該使用$ source venv/Scripts/activate

本質問題Linux和Windows目錄分割符「/」和「」的問題

第二個問題是虛擬環境問題,其實這沒啥大的技術含量,activate之後只是把venvScripts目錄

加入到系統PATH的開頭,而Script目錄下就是我們常見的python.exe等程序,這樣運行python找到

的就是虛擬環境下的。由於PATH只在當前有效,可以說是局部的。

可以打出PATH看看就知道了,

Git Bash: echo $PATH

windows cmd: echo %PATH%

所以venv本質是拷貝可執行文件,標準庫,頭文件,設置零時PATH,沒有什麼高深的

萬事開頭難,熟悉就好。


推薦你使用virtualenvwrapper-win,windows下的virtualenvwrapper,然後再用它的workon命令就可以了。你看的是flask web開發那本書吧,圖靈有中文版,翻譯的挺好的,可以直接讀。

當然,如果進一步,推薦用babun,基於cygwin的,非常棒


在Win下未必需要source指令,沒測試過但不一定好使……

需要什麼python的bin直接用就行了,這也是virtualenv的意義所在。例如在Git bash下:

$ venv/Scripts/python hello.py

Win的CMD:

venvScriptspython hello.py


我的電腦是windows

沒有辦法測試,請自己試試

按照這樣換成你自己的目錄。

c:Temp&>virtualenv myenv
New python executable in myenvScriptspython.exe
Installing setuptools..................done.
c:Temp&>myenvScriptsactivate
(myenv) C:Temp&>deactivate
C:Temp&>


我也碰到這個問題,but,我已經解決了。。。

原因:如圖

請用 widnows:1.要反斜杠 而且 2要 雙反斜杠。。


如果你用的是py3以上的話,在創建虛環境的時候書上說用的是

python -m venv ll_env

這樣的,但是這樣創建是沒有activate這個文件的,所以可以用

python -m virtualenv ll_env

來創建虛環境,然後就可以用前面的

source ll_env/Scripts/activate

來激活了,今早遇到了,自己嘗試了一下,來回答了一下


我也遇到這類問題,按上邊方法改了都不行,怎麼辦啊


。。。咱們遇到的問題一樣,我也是在git中command not found然後用命令提示符激活了,最後小夥伴告訴我只是和/弄反了。。。


路徑裡面有中文,你換個目錄就好啦

可愛的中文文件夾


win+python3+flask環境下,進入虛擬根目錄/flask/Scripts下打開cmd(shift+右鍵=》出現在此窗口打開命令窗口)

運行activate即可

如果沒啟動虛擬環境,配置在虛擬環境下的 flask插件沒法使用


windows系統:

GIT BASH 怎麼搞都不行,不知題主現在知道怎麼搞沒有?

用系統自帶的cmd, 直接輸入就可以了

envScriptsactivate.bat

估計是不能用Linux的控制台來啟動


哦,好像明白點了


這個我還好 參考各種 東西但是 flask在網上的實用教程實在太少了 高手又不屑於普及這些基本只是 我們小白只能 慢慢摸索

我決定學python的時候就選擇了 linux 但是很多網上教程是 mac 畢竟寫教程的都是土豪 只能自己慢慢摸索 一邊學linux 一邊看書 學 吧


我也在學習這本書 剛起步不久 關注一下


activate就是一個bat文件,command not found估計是路徑不對,這沒有什麼好顧慮的。


哎 誰讓你沒事做用 msys的


推薦閱讀:

希望用flask作為中介讓python和js交互,大家有什麼比較好的實踐經驗沒?
《Flask Web開發》中程序的許可權為什麼用十六進位表示?
在python3下怎樣用flask-sqlalchemy對mysql資料庫操作?
微框架 Python Flask 和 Ruby Sinatra,哪個更值得推薦?

TAG:Web開發 | Python | 編程 | Flask | virtualenv |