之前在阿里云上布置django時沒有創(chuàng)建虛擬環(huán)境,今天有空就重新弄下。
登陸服務(wù)器后,很奇怪的發(fā)現(xiàn)之前配置的默認(rèn)python版本從python3又變成了python2,不知道為什么,又得重新設(shè)置一次。
復(fù)制上次使用的命令
# ln -s /usr/local/bin/python3 /usr/bin/python
出現(xiàn)了個錯誤
ln: target ‘/usr/bin/python’ is not a directory
google了很久,發(fā)現(xiàn)是由于復(fù)制的時候“-”短橫自動變成了“-”長橫,改過來就ok了。
創(chuàng)建虛擬環(huán)境
我用的python版本是3.6,python3.4版本開始自帶pyvenv包可以用來創(chuàng)建虛擬環(huán)境,不用安裝其他新的東西。
windows下創(chuàng)建虛擬環(huán)境
1、創(chuàng)建環(huán)境
python -m venv venv1
最后面的venv1是虛擬環(huán)境的名稱,以上命令會在當(dāng)前目錄下生成一個venv1的文件夾,虛擬環(huán)境需要的文件都在這個文件夾下。
創(chuàng)建虛擬環(huán)境時還可以添加一些參數(shù)。
比如在windows下,我安裝了anaconda,而在創(chuàng)建虛擬環(huán)境時,
python -m venv --system-site-packages venv1
可以使新環(huán)境能夠使用已經(jīng)在anaconda中安裝的庫,省去很多配置環(huán)境的麻煩。
2、進入環(huán)境
當(dāng)前目錄下執(zhí)行
venv1\Scripts\activate.bat
執(zhí)行后,會在目錄前方出現(xiàn)<venv>表明已進入虛擬環(huán)境
3、使用環(huán)境
通過
pip list
命令可以看到環(huán)境中安裝的庫,只有pip 和setuptools,可以用過pip install 安裝需要的庫
4、退出環(huán)境
deactivate
可以退出虛擬環(huán)境
linux下創(chuàng)建虛擬環(huán)境
我用的是centos,不過看命令,應(yīng)該其他linux系統(tǒng)也可以用。
1、創(chuàng)建環(huán)境
python -m venv venv1
和windows中相同
2、進入環(huán)境
當(dāng)前目錄下執(zhí)行
source venv1/bin/activate
3、使用環(huán)境
和windows中相同
4、退出環(huán)境
deactivate
可以退出虛擬環(huán)境
和windows中相同
django使用虛擬環(huán)境
進入新建的虛擬環(huán)境后,進入django目錄,開啟服務(wù)
# python manage.py runserver 0.0.0.0:80
遇到了一個問題,80端口已被占用。
# netstat -anp | grep 80
查看哪個程序在使用80端口

# kill -9 1918
命令關(guān)閉正在占用端口的程序
重新開啟服務(wù),可以正常啟動服務(wù)了。