我想在具有Hadoop集群的本地文件系统上为python3安装numpy,以便可以在pyspark中使用该库。问题是我无法安装numpy,除非它尝试在python3子文件夹中创建tmp文件的步骤失败,否则它将尝试将上述tmp文件创建到写限制的lib中,并且我尝试过的每种解决方法都不断在这一点上失败了。萤幕撷取画面出现错误:
PermissionError: [Errno 13] Permission denied: '/usr/local/lib64/python3.6'
除了本地文件系统上受写保护的lib文件中的内容外,我尝试将python3安装以及我自己安装的其他程序包中的.bashrc文件指向该目录。 .bashrc。我还需要做些什么,以便numpy安装的这一步在我具有写访问权限的python3软件包中创建tmp文件?
答案 0 :(得分:2)
有两种选择:-(我会选择一个虚拟环境,因为它是最干净的解决方案,对我很容易起作用,而不会篡改其他任何东西。)
一个正在使用sudo
来获得root访问权限并将其安装在此处。
其他选项是-将其安装在单独的虚拟环境中。 (或将其安装在用户文件夹中)。
答案信用:Github issue link
答案 1 :(得分:0)
您正在尝试使用系统python3.6的pip进行安装,而不是使用/run/user
路径中的python进行安装。使用您当前的python
别名,尝试使用
python -m pip install numpySOMETHING.whl
为防止冲突,请考虑使用具有virtualenv
或conda
的环境。
如果只有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