无管理员权限安装Django和Python Suds

0 投票
3 回答
1411 浏览
提问于 2025-04-16 23:03

我正在尝试设置我的项目环境,使用的技术有:

  • Python 2.5.2
  • Django 1.3
  • Python Suds

我运行的服务器上已经安装了Python(2.5.2)和Django(1.1),但我想用更新版本的Django,而且我没有管理员权限来升级。那我该怎么安装呢?

我是否需要在一个单独的目录下安装Python、Django和Suds?我该如何把标准的Python路径替换成这个新路径呢?

谢谢!

3 个回答

0

在其他路径设置 Django 的完整指南


通过 pip 安装 Django

很多人使用 pip 这个包管理工具来安装软件(虽然我不太喜欢)。
要通过 pip 安装 Django,你可以这样做:

pip install django

这样安装的 Django 会放在一个普通用户无法访问的路径里。
所以你必须先添加这个安装路径。

pip install django --install-option="--prefix=$SOME_PLACE_WE_HAVE_ACCESS_TO" django

这个 $SOME_PLACE_WE_HAVE_ACCESS_TO 可以是 /home/user/ 目录。
现在登录到 Python 中,进行导入:

import django
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named django

我们哪里做错了???

PYTHONPATH

只要你没有把 Django 安装在 PYTHONPATH 中,Python 就不知道从哪里导入这个模块!!! 你需要做这两步:

BASH:

echo $PYTHONPATH

PYTHON:

import sys
print sys.path

这里的 sys.path 显示的是 Python 中安装的包的位置。 而 $PYTHONPATH 是空的...

你需要做的就是把 Django 的 egg 文件路径添加到 PYTHONPATH 中。 比如在我的系统中是:
/usr/local/lib/python2.7/dist-packages/Django-1.9-py2.7.egg
要把它添加到 PYTHONPATH,执行这个:

BASH:

export PYTHONPATH={{EGG PATH}}
这里的 {{EGG PATH}} 是你的 Django egg 的位置。
那 django-admin 呢?
你需要从 Django 安装的地方运行它,通常是在一个叫 bin 的目录里。 你可以把这个 bin 的路径(可能是 ~/bin 或者你安装的任何地方/bin)添加到 $PATH 中...
就像添加 PYTHONPATH 一样:

export PATH=$PATH:~/bin

注意 >> : 在 $PATH 后面加上是很重要的!!!想知道为什么可以执行:echo $PATH
注意 >> ~/bin 必须是 Django 的 bin 目录,所以要注意这一点。

通过源代码安装 Django

哦,我的天,那是我最喜欢的方式。 和上面的方法没有什么不同,只是用 setup.py 代替 pip...

为此你必须先安装 setuptools...(我觉得 pip 会自动安装,如果 pip 报错说没有 setuptools,你也需要按照上面的方法为 setuptools 安装一遍。)

安装完 setuptools 后,你需要这样做:

./setup.py install --prefix=$PATH_YOU_DESIRE

剩下的步骤是一样的...


参考资料
1 : 通过 pip 在其他位置安装包。

2 : 如何将路径添加到 $PATH。

0

我建议你在一个新的文件夹里安装Django和Suds!这样你就可以让这个文件夹里的所有人都能访问它!如果你在用Apache服务器的话,只需要把这个新文件夹添加到PYTHONPATH里就可以了!

顺便说一下,我自己从来没有试过这个,但应该是可以的!

你也可以在谷歌上搜索一下PYTHONPATH,这里有一个可能对你有帮助的链接: http://www.stereoplex.com/blog/understanding-imports-and-pythonpath

祝好运!

2

你可以使用虚拟环境,我之前也用过它来玩另一个(无关的)Python框架,叫做buildbot。

撰写回答