Numpy 安装想要在我没有写入权限的 lib 文件夹中创建 tmp 文件

Numpy install wants to create tmp file in lib folder where I do not have write access

我想在具有 Hadoop 集群的本地文件系统上为 python3 安装 numpy,以便我可以在 pyspark 中使用该库。问题是我无法安装 numpy 除非它在尝试在 python3 子文件夹中创建 tmp 文件的步骤失败,除了它试图将所述 tmp 文件创建到写限制的库中,并且我的每个解决方法已经尝试在这一点上不断失败。有确切错误的屏幕截图:

PermissionError: [Errno 13] Permission denied: '/usr/local/lib64/python3.6'

我已尝试将我的 .bashrc 文件指向包含 python3 安装的目录,以及我安装的其他包供我自己使用,以及当前在写保护 lib 文件中的内容本地文件系统。 .bashrc 下面。我还需要做什么才能使 numpy 安装中的此步骤在我具有写入权限的 python3 包中创建 tmp 文件?

current .bashrc

有几个选项:-(我会 select 虚拟环境,因为它是最干净的解决方案,对我来说很容易工作,不会篡改其他任何东西。)

  1. 一个正在使用 sudo 获取 root 访问权限并将其安装在那里。

  2. 其他选项是 - 将其安装在单独的虚拟环境中。 (或者可能将其安装在用户文件夹中)。

答案来源:Github issue link

您正在尝试使用系统 python3.6 的 pip 安装,而不是您在 /run/user 路径中的 python。使用您当前的 python 别名,尝试使用

安装 numpy
python -m pip install numpySOMETHING.whl

为防止冲突,请考虑virtualenvconda的使用环境。

如果您只有 TMP 问题,您可以在当前目录中创建一个临时文件夹来解决它。

if [[ -O $PWD/TMP && -d $PWD/TMP ]]; then
    TMPDIR=$PWD/TMP
else
    rm -rf $PWD/TMP 2> /dev/null
    mkdir -p $PWD/TMP
    TMPDIR=$(mktemp -d $PWD/TMP/XXXX)
fi

TMP=$TMPDIR
TEMP=$TMPDIR
export TMPDIR TMP TEMP

以及当您完成安装时。

unset TMPDIR TMP TEMP