尝试以与系统中不同的版本安装django,它向我显示:
Installing collected packages: Django
Found existing installation: Django 1.7.11
Not uninstalling django at /home/user/lib/python2.7, outside environment /home/user/webapps/v2_dev/venv
成功安装了Django-1.8.19
但是实际上有旧版本
尝试了不同的命令:
./venv/bin/pip install Django==1.8.11
pip install Django==1.8.11
已更新: 当我安装我的软件包时,它显示:
The required version of setuptools (>=16.0) is not available,
and can't be installed while this script is running. Please
install a more recent version first, using
'easy_install -U setuptools'.
(Currently using setuptools 3.1 (/home/user/lib/python2.7/setuptools-3.1-py2.7.egg))
升级时:
venv/bin/pip install --upgrade setuptools
Requirement already up-to-date: setuptools in ./venv/lib/python2.7/site-packages (40.5.0)
答案 0 :(得分:3)
与其像setuptools
那样安装Django
和./venv/bin/pip install ...
,不如尝试先激活虚拟环境,然后再安装所需的东西。
激活虚拟环境:
转到虚拟环境所在的文件夹(通常是项目的根文件夹),然后输入以下两个之一:
source venv/bin/activate
(基于Unix的系统) venv\Scripts\activate
(适用于Windows) 这将确保您不会混合安装在不同环境中的软件包。
强制重新安装软件包:
--upgrade
或-U
--force-reinstall
在您的情况下(一旦激活环境):
python -m pip install -U --force-reinstall setuptools Django
逐步:
使用python -m virtualenv venv
(python 2)或python -m venv venv
(python 3)创建新环境
python 是您要在项目中使用的解释器。那是您可能要使用例如python3
或某些绝对路径的唯一点。以后按原样使用代码。
source venv/bin/activate
激活虚拟环境
python -m pip install -U pip
如果您对ImportError: No module named _internal
有疑问,则可能是您使用的是旧版的点子。问题描述here
python -m pip install -U --force-reinstall -r requirements.txt
-U --force-reinstall
在新鲜的环境中有点过大,但这不会造成伤害
转到manage.py
所在的位置,然后使用python manage.py runserver
答案 1 :(得分:1)
尽管在全局python中已经安装了某些东西,我还是在寻找如何在virtualenv中强制安装它的时候来到了这篇文章。使用--system-site-packages
创建虚拟环境时会发生这种情况。
在这种情况下,对于某些软件包,在virtualenv中拥有本地版本可能很重要,即使对于许多其他软件包,我们可以共享全局版本。例如,pytest
就是这种情况。但是,如果pip可以在系统站点中找到最新版本,它将拒绝在virtualenv中安装软件包。
解决方案是使用pip install --ignore-installed mypackage
。
答案 2 :(得分:0)
问题出在Webfaction VPS中
在/ home / username / webapps / appName / env / lib / python2中需要一个名为sitecustomize.py的空文件。
该空文件将覆盖其python自定义设置,其中之一是在〜/ lib / python2.7目录中包括所有软件包。
您可能需要停用虚拟环境,然后再次将其激活才能使更改生效。
答案 3 :(得分:0)
解决方法,但是可行!
在virtualenv目录中,更改pyvenv.cfg文件的属性
include-system-site-packages = True
这将导致使用主机上安装的软件包