easy_install 下载目录
我正在尝试使用 easy_install 安装一个以 egg 格式打包的 Python 脚本。问题是 easy_install 会把依赖项下载到 /tmp 目录。然而,我的 tmp 目录只有 4MB 的可用空间(因为我在使用一个 NAS 硬盘,设置成这样)。
有没有办法指定下载目录?--help 似乎没有提供任何有用的信息。
编辑:
一些更多的细节:
我正在运行 Python 2.5.6 和从 optware 安装的 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
我知道文件是在 /tmp 中下载的,因为在下载进行时我运行了 ls -l /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
谢谢,
Jack
4 个回答
4
easy_install -b wherever
或者
easy_install --build-directory wherever
16
设置TMPDIR这个环境变量,方法如下:
export TMPDIR="/opt/tmp"
我觉得这样做比重新写easy_install.py要好。你需要确保这个路径是存在的。
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 这个选项和文件下载到哪里没有关系。