django-admin:command not found;django無法建立工程問題
系統:macOS 10.13.4 python版本:2.7(Mac自帶) 用pip安裝了django,且能夠import成功,可是建立工程時,卻顯示django-admin: command not found。 又是幾個小時的debug,嚶嚶嚶。 Anyways,我的解決方案如下:
sudo ln -s /Users/apple/Library/Python/2.7/bin/django-admin /usr/local/bin
問題關鍵:django安裝成功了,但是終端無法識別django-admin命令,解決方法就是讓終端能夠找到django-admin。 程式碼解讀: 1.sudo 呼叫管理員許可權。 如果不呼叫,就會出現 Permission denied,這是因為許可權不夠。 2.ln -s 軟連線. 軟連線簡單來說就是複製一個檔案到另一個資料夾裡,只不過修改其中一個檔案時另一個也會隨之改變。 那為什麼要把django-admin軟連線到/usr/local/bin資料夾裡呢,看第三點。 3.當我們在終端中輸入命令時,終端怎樣找到對應的程式呢?答案是終端順著path去找。path在/etc/paths檔案中,cd到etc資料夾後使用
vi paths
命令開啟paths檔案,檔案內容如下
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
看到了嗎,其中就有/usr/local/bin (當然我覺得理論上在五個path中隨便選一個就行,然而百度谷歌各種教程裡都寫的/usr/local/bin,具體原因不明)
這時候你再輸入django-admin應該就不會出現command not found了,這就說明你已經配置path成功了!
----------------------手動分割線------------------------- 當然,如果還是有問題,就繼續看下去吧,可能對你會有所幫助。 1.你的django-admin所在的資料夾可能跟我的不一樣,如果不一樣的話就需要你去探索一下你的django-admin到底安在哪了。 2.如果終端輸出File exists,很有可能是因為你在別的教程裡輸入過ln -s XXX XXX命令以至於把django-admin連線到了錯誤的地方,你可以試一下用
sudo rm /usr/local/bin/django-admin
刪除該django-admin檔案,終端會要求你輸入密碼,輸完密碼後再輸入
sudo ln -s /Users/apple/Library/Python/2.7/bin/django-admin /usr/local/bin
命令。 3.可以檢查一下是不是版本問題 當然!生活總是無比艱難,如果還不行,那,那,那就再百度百度吧。