我有服务器上的Django 1.2.1。 我需要使用虚拟Python来安装Django 1.4.1以及我想要的PostgreSQL适配器。 我正试图在我的服务器上设置这个软件 。 所以我跑了
virtualenv --python=python2.6 env . env/bin/activate pip install -r requirements.txt
产量
:~/arkisto$ virtualenv --python=python2.6 env Running virtualenv with interpreter /usr/bin/python2.6 New python executable in env/bin/python2.6 Also creating executable in env/bin/python Installing distribute..................................................................................................................................................................................done. :~/arkisto$ . env/bin/activate (env):~/arkisto$ pip install -r requirements.txt Requirement already satisfied (use --upgrade to upgrade): psycopg2 in /usr/lib/python2.6/dist-packages (from -r requirements.txt (line 2)) Downloading/unpacking django==1.4.1 (from -r requirements.txt (line 1)) Downloading Django-1.4.1.tar.gz (7.7Mb): 7.7Mb downloaded Running setup.py egg_info for package django Installing collected packages: django Found existing installation: Django 1.2.3 Not uninstalling Django at /usr/lib/pymodules/python2.6, outside environment /home/users/sa/tentti/env Running setup.py install for django changing mode of build/scripts-2.6/django-admin.py from 644 to 755 changing mode of /home/users/sa/arkisto/env/bin/django-admin.py to 755 Successfully installed django Cleaning up...
然后在服务器上看到Django的版本
(env)$ django-admin --version 1.2.3
你如何使用这些命令安装的软件?
当通过pip在virtualenv中安装时,djangopipe理脚本通常以名称django-admin.py (带有文件扩展名)安装。 很有可能是全系统的django安装了这个脚本,没有扩展名,所以你正在倒退回来。
尝试
$ django-admin.py --version
根据你的virtualenv版本,当创buildvenv时,你可能需要添加–no-site-packages标志:
virtualenv --python=python2.6 --no-site-packages env
这会告诉virtualenv不要让你的venv里面有全局安装的软件包。
扩展到user214462的答案
我运行user214462的答案
virtualenv --python=python2.6 --no-site-packages env
我明白了
Running virtualenv with interpreter /usr/bin/python2.6 The --no-site-packages flag is deprecated; it is now the default behavior. Overwriting env/lib/python2.6/site.py with new content New python executable in env/bin/python2.6 Not overwriting existing python script env/bin/python (you must use env/bin/python2.6) Overwriting env/lib/python2.6/distutils/__init__.py with new content Installing distribute..............................................................................................................................................................................................done. Installing pip................done. Overwriting env/bin/activate with new content Overwriting env/bin/activate_this.py with new content
这似乎工作。
第二个扩展到user214462的答案
我想结合virtualenv命令来安装Django1.4.1
virtualenv --python=python2.6 --no-site-packages env python setup.py install test/
我不明白的语法。 我把文件夹testing/那里,因为我得到以下的错误后运行它没有文件夹
Running virtualenv with interpreter /usr/bin/python2.6 There must be only one argument: DEST_DIR (you gave setup.py install env test/) Usage: virtualenv.py [OPTIONS] DEST_DIR
我想我应该开始virtualenv,然后把这个命令放在同一行的环境中运行。
上面的语法不觉得正确,因为命令python运行不是虚拟显然不工作。
你如何安装Django1.4.1而不是在你的venv里面安装全局安装的软件包?