Thi*_*lem 4 python django pip path virtualenv
我开始在我的项目中使用virtualenv和virtualenvwrapper.
使用该workon
命令激活virtualenv后,我安装了以下软件包pip install -U <package>
:
$ lssitepackages
django pip
Django-1.3-py2.7.egg-info pip-1.0.1-py2.7.egg-info
easy-install.pth setuptools-0.6c11-py2.7.egg
fabric setuptools.pth
Fabric-1.0.1-py2.7.egg-info south
geopy South-0.7.3-py2.7.egg-info
geopy-0.94.1-py2.7.egg-info
Run Code Online (Sandbox Code Playgroud)
这里的问题是(运行virtualenv激活的命令):
$ whereis python
python: /usr/bin/python2.6 /usr/bin/python /usr/bin/python2.7 /etc/python2.6 /etc/python /etc/python2.7 /usr/lib/python2.6 /usr/lib/python2.7 /usr/lib64/python2.6 /usr/lib64/python2.7 /usr/local/lib/python2.6 /usr/local/lib/python2.7 /usr/include/python2.6 /usr/include/python2.7 /usr/share/python /usr/share/man/man1/python.1.gz
$ whereis django-admin
django-admin: /usr/bin/django-admin /usr/local/bin/django-admin.py /usr/share/man/man1/django-admin.1.gz
$ whereis fab
fab: /usr/local/bin/fab
Run Code Online (Sandbox Code Playgroud)
我的virtualenv它没有使用本地包!
我如何强制virtualenv使用本地Python和本地版本的packges而不是我的机器包?
更新 - 可能的解决方案
我创建了一个新的virtualenv,mkvirtualenv --no-site-packages <name>
现在我得到了这些输出:
$ which python
/home/user/.virtualenvs/VIRTUALENVNAME/bin/python
$ which django-admin
/usr/bin/django-admin
$ which django-admin.py
/home/user/.virtualenvs/VIRTUALENVNAME/bin/django-admin.py
$ which fab
/home/user/.virtualenvs/VIRTUALENVNAME/bin/fab
Run Code Online (Sandbox Code Playgroud)
听起来它现在正在工作......除了"django-admin"命令.
尝试使用以下命令安装virtualenv:
mkvirtualenv --no-site-packages
Run Code Online (Sandbox Code Playgroud)
在没有任何外部python库的情况下创建virtualenv