一、Linux下安裝、配置virtualenv
配置源
#指定清華源下載pip的包 [root@localhost opt]# pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv #升級pip工具 [root@localhost opt]# pip3 install --upgrade pip
安裝virtualenv
1.安裝virtualenv [root@localhost opt]# pip3 install virtualenv 2.創建目錄 [root@localhost opt]# mkdir Myproject [root@localhost opt]# cd Myproject 3.創建獨立運行環境-命名 [root@localhost Myproject]# virtualenv --no-site-packages --python=python3 venv#得到獨立第三方包的環境,並且指定解釋器是python3 # --no-site-packages :保證虛擬環境沒有任何的第三方包 #--python=python3 指定當前機器的python3作為本體 #venv :文件夾名稱 4.進入虛擬環境 [root@localhost Myproject]# cd venv [root@localhost venv]# source bin/activate #此時進入虛擬環境(venv)Myproject 查看第三方安裝包 (venv) [root@localhost venv ]# pip3 list Package Version ---------- ------- pip 19.0.3 setuptools 40.8.0 wheel 0.33.1 5.安裝第三方包(django) (venv) [root@localhost venv ]# pip3 install django==1.11.18 #此時pip的包都會安裝到venv環境下,venv是針對Myproject創建的 再次查看第三方安裝包 (venv1) [root@localhost venv]# pip3 list Package Version ---------- ------- Django 1.11.18 pip 19.0.3 pytz 2018.9 setuptools 40.8.0 wheel 0.33.1 6.創建項目 (venv1) [root@localhost venv]# django-admin startproject mysite 7.配置settings ((venv1) [root@localhost venv]# vim mysite/mysite/settings.py
#第28行 28 ALLOWED_HOSTS = ["*"] 8.啟動django (venv1) [root@localhost venv]#python3 mysite/manage.py runserver 0.0.0.0:8888
9.退出venv環境 deactivate命令 virtualenv是如何創建“獨立”的Python運行環境的呢?原理很簡單,就是把系統Python復制一份到virtualenv的環境,用命令source venv/bin/activate進入一個virtualenv環境時, virtualenv會修改相關環境變量,讓命令python和pip均指向當前的virtualenv環境。
二、安裝 virtualenvwrapper
virtualenv
的一個最大的缺點就是:
每次開啟虛擬環境之前要去虛擬環境所在目錄下的 bin
目錄下 source
一下 activate
,這就需要我們記住每個虛擬環境所在的目錄。
並且還有可能你忘記了虛擬環境放在哪。。。
- 一種可行的解決方案是,將所有的虛擬環境目錄全都集中起來,例如/opt/all_venv/,並且針對不同的目錄做不同的事。
- 使用virtualenvwrapper管理你的虛擬環境(virtualenv),其實他就是統一管理虛擬環境的目錄,並且省去了source的步驟。
安裝virtualenvwrapper
#創建文件夾 root@localhost opt]# mkdir allenv #安裝 virtualenvwrapper [root@localhost allenv]# pip3 install virtualenvwrapper
設置Linux的環境變量,每次啟動就加載virtualenvwrapper
把下面兩行代碼添加到 ~/.bashrc文件中 打開個人用戶配置文件 [root@localhost allenv]# vim ~/.bashrc 寫入以下代碼 export WORKON_HOME=~/Envs #設置virtualenv的統一管理目錄 export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages' #添加virtualenvwrapper的參數,生成干凈隔絕的環境 export VIRTUALENVWRAPPER_PYTHON=/opt/python36/bin/python3 #指定python解釋器 source /opt/python36/bin/virtualenvwrapper.sh #執行virtualenvwrapper安裝腳本
讀取文件,使得生效,此時已經可以使用virtalenvwrapper
[root@localhost allenv]# source ~/.bashrc
創建一個新的虛擬換機,自動激活,這會在 ~/Envs 中創建 mydjango20文件夾
[root@localhost ~]# mkvirtualenv mydjango20 #創建mydjango20 (mydjango20) [root@localhost ~]# mkvirtualenv mydjango118 #創建mydjango18
切換到Envs目錄中查看
(mydjango118) [root@localhost ~]# cd ~/Envs/ (mydjango118) [root@localhost Envs]# ll 總用量 48 -rwxr-xr-x. 1 root root 135 3月 7 16:23 get_env_details -rw-r--r--. 1 root root 96 3月 7 16:23 initialize drwxr-xr-x. 5 root root 43 3月 7 16:31 mydjango118 drwxr-xr-x. 5 root root 43 3月 7 16:27 mydjango20 -rw-r--r--. 1 root root 73 3月 7 16:23 postactivate -rw-r--r--. 1 root root 75 3月 7 16:23 postdeactivate
切換目錄
(mydjango118) [root@localhost Envs]# workon mydjango20 (mydjango20) [root@localhost Envs]#
列出當前所有虛擬環境
(mydjango20) [root@localhost Envs]# lsvirtualenv mydjango118 =========== mydjango20 ==========
退出
(mydjango20) [root@localhost Envs]# deactivate
導航到當前激活的虛擬環境的目錄中,比如說這樣您就能夠瀏覽它的 site-packages 。
(mydjango20) [root@localhost Envs]# cdvirtualenv
三、確保開發環境的一致性
通過命令保證環境的一致性,導出當前python環境的包
pip3 freeze > requirements.txt
查看當前環境使用的安裝包
C:\Users\admin>pip list Package Version ----------------------- ---------- beautifulsoup4 4.6.3 certifi 2018.10.15 cffi 1.11.5 chardet 3.0.4 Django 1.11.16 django-multiselectfield 0.1.8 gevent 1.3.7 greenlet 0.4.15 idna 2.7 Jinja2 2.10 MarkupSafe 1.1.0 Pillow 5.4.1 pip 18.1 pycparser 2.19 PyMySQL 0.9.3 pytz 2018.9 requests 2.20.0 setuptools 39.0.1 tqdm 4.28.1 urllib3 1.24
導出安裝包
C:\Users\admin> pip3 freeze > requirements.txt
在 C:\Users\admin 找到放到linux的項目目錄下下
安裝
pip3 install -i https://pypi.douban.com/simple -r requirements.txt
部署crm項目
創建cem虛擬環境
(mydjango118) [root@localhost opt]# mkvirtualenv crm (crm) [root@localhost opt]#
安裝需要的第三方安裝包
crm) [root@localhost opt]# pip3 install -i https://pypi.douban.com/simple -r requirements.txt
安裝數據庫
(crm) [root@localhost opt]# yum install mariadb-server mariadb -y
啟動mariadb數據庫,修改Ace_crm的settings.py配置文件,修改mysql數據庫驅動
遷移數據庫
(crm) [root@localhost opt]# python3 day81/Ace_crm/manage.py migrate
啟動
(ace_crm) [root@localhost opt]# python3 Ace_crm/manage.py runserver 0.0.0.0:9999