建議:不安裝 virtualenv建峭,直接安裝 virtualenvwrapper
pip install -i https://pypi.douban.com/simple/ virtualenvwrapper
配置 ~/.zshrc
為:
WORKON_HOME=$HOME/virtualenvs
source /Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenvwrapper.sh
1 安裝虛擬環(huán)境包
安裝
pip install virtualenv
pip install virtualenvwrapper
豆瓣源安裝
sudo pip install -i https://pypi.douban.com/simple virtualenvwrapper
2 配置 virtualenvwrapper 進(jìn)環(huán)境變量
查找路徑
sudo find / -name virtualenvwrapper.sh
或
which virtualenvwrapper.sh
得到
/Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenvwrapper.sh
如果是pip3 install
則是:
/Library/Frameworks/Python.framework/Versions/3.5/bin/virtualenvwrapper.sh
配置
把virtualenvwrapper寫進(jìn)配置文件旭咽,增加兩句話:
vim ~/.zshrc
或 vim ~/.bashrc
:
把虛擬環(huán)境的包都放在$HOME
就是用戶目錄下的 .virtualenvs
隱藏目錄下因块,它會(huì)自己新建。
export WORKON_HOME=$HOME/.virtualenvs
然后source 配置virtualenvs所在目錄菠剩,上面用which找到過(guò)戳表。
source /Library/Frameworks/Python.framework/Versions/3.5/bin/virtualenvwrapper.sh
但是配置文件我這里寫得是這樣完整的兩行:
export WORKON_HOME=$HOME/virtualenvs
source /Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenvwrapper.sh
創(chuàng)建一個(gè)python2的scrapy目錄:
mkvirtualenv py2scrapy
退出:
deactivate
查看虛擬環(huán)境
workon
進(jìn)入虛擬環(huán)境
workon py2scrapy
刪除虛擬環(huán)境
先進(jìn)入virtualenvwrapper存放虛擬環(huán)境的目錄。這是配置在.zshrc
文件中的歌懒。
cd .virtualenvs
刪除
rm -rf py2scrapy
創(chuàng)建Python3的虛擬環(huán)境:
先找到python3安裝位置
which python3
/Library/Frameworks/Python.framework/Versions/3.5/bin/python3
通過(guò)python3創(chuàng)建虛擬環(huán)境(名字叫py3scrapy)啦桌。
mkvirtualenv --python=/Library/Frameworks/Python.framework/Versions/3.5/bin/python3 py3scrapy
或者最直接的方法,讓系統(tǒng)自己查找
mkvirtualenv newpy -p $(which python3)
3 對(duì)于找不到 virtualenv 的報(bào)錯(cuò)解決
出現(xiàn)這種錯(cuò)誤及皂,是因?yàn)?virtualenv 這個(gè)基礎(chǔ)依賴包被安裝在了Mac 的默認(rèn) Python 目錄下甫男,就需要做一個(gè)軟連接 ln -s
。
ERROR: virtualenvwrapper could not find virtualenv in your path
首先還是用 find / -name "virtualenv"
去找到位置验烧,最后這一行就是 virtualenv板驳,可以看見在 Frameworks 目錄,即 Mac 自帶 Python 所在的位置碍拆。
sudo find / -name "virtualenv"
find: /dev/fd/3: Not a directory
find: /dev/fd/4: Not a directory
/Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenv
最后進(jìn)行軟連接
$ sudo ln -s /Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenv /usr/local/bin/virtualenv