easy_install下载目录

时间:2011-10-01 15:23:13

标签: python easy-install

我正在尝试使用easy_install安装以egg格式打包的python脚本。问题是easy_install将依赖项下载到/ tmp。但是,我的tmp目录只有4mb的可用空间(我正在使用NAS驱动器,以这种方式设置)。

有没有办法指定下载目录? --help似乎没有任何有用的东西。

修改

更多细节:

我正在运行从optware安装的python 2.5.6和setuputils 0.6c11-2。 NAS基于ARM(特别是安装了fun_plug的DNS-320)。如果您想要更具体的信息,请与我们联系。

当我使用-b选项时,文件仍然下载到/ tmp。事实上,提取过程使用了tmp中的剩余空间:

easy_install-2.5 -b /mnt/HD/HD_a2/ffp/home/root SQLAlchemy==0.7.2
Searching for SQLAlchemy==0.7.2
Reading http://pypi.python.org/simple/SQLAlchemy/
Reading http://www.sqlalchemy.org
Best match: SQLAlchemy 0.7.2
Downloading http://pypi.python.org/packages/source/S/SQLAlchemy/SQLAlchemy-0.7.2.tar.gz#md5=b84a26ae2e5de6f518d7069b29bf8f72
Processing SQLAlchemy-0.7.2.tar.gz
error: No space left on device

我知道在下载过程中通过运行ls -l / tmp /将文件下载到/ tmp中:

ls -l /tmp/easy_install*
total 891 -rw-r--r-- 1 root root 901120 Oct  1 20:35 SQLAlchemy-0.7.2.tar.gz

df -h输出:

Filesystem            Size  Used Avail Use% Mounted on
rootfs                9.7M  4.8M  4.5M  52% /
/dev/root             9.7M  4.8M  4.5M  52% /
/dev/loop0             23M   23M     0 100% /usr/local/modules
/dev/mtdblock5        5.0M  464K  4.6M  10% /usr/local/config
/dev/sda4             485M   16M  469M   4% /mnt/HD_a4
/dev/sdb4             485M   11M  474M   3% /mnt/HD_b4
/dev/sda2             1.8T  213G  1.6T  12% /mnt/HD/HD_a2
/dev/sdb2             1.8T   69G  1.8T   4% /mnt/HD/HD_b2
/dev/sda2             1.8T  213G  1.6T  12% /opt

谢谢,

杰克

4 个答案:

答案 0 :(得分:16)

设置TMPDIR环境变量,如下所示:

export TMPDIR="/opt/tmp"

我认为这比重写easy_install.py更好。您需要确保路径存在。

答案 1 :(得分:5)

如果有人感兴趣的话,这就是解决方案。

编辑/opt/lib/python2.5/site-packages/setuptools/command/easy_install.py的第412行:

tmpdir = tempfile.mkdtemp(prefix="easy_install-")

为:

tmpdir = tempfile.mkdtemp(prefix="easy_install-",dir="/opt/tmp")

这是有效的,因为/ opt安装在硬盘驱动器上并且有足够的可用空间。

我不是python专家(从未使用它编程),但似乎-b选项与文件下载的位置无关。

答案 2 :(得分:4)

easy_install -b wherever

easy_install --build-directory wherever

答案 3 :(得分:0)

嗯,你可以在开始这个过程之前将/ tmp / easyinstall的软件符号链接到另一个位置吗? 我不是该工具的专家,所以这是一个想法,但不是一个解决方案