Python setup.py without root



我想安装一些Python模块,即MATLAB Engine。MATLAB 在/usr/local/sw/matlab下全局安装,因此我切换到相应的目录,然后按照链接文档中的说明运行setup.py。但是,我不是root,所以我添加了--user标志,如官方Python Docs所记录的那样。

所以这就是我得到的:

> python setup.py install --user running install running build running build_py creating build error: could not create 'build': Permission denied

显然,它尝试在当前目录中构建模块,我没有写入权限。我可以通过跑步来回避这一点

python setup.py build --build-base=/path/to/temp/build/dir

但是我不知道如何安装它。我也不能将这两种方法结合起来,因为install不认识--build-base选项。

我进一步尝试将整个matlabroot/extern/engines/python目录复制到其他地方并在那里运行python setup.py install --user,但这会产生

error: The installation of MATLAB is corrupted. Please reinstall MATLAB or contact Technical Support for assistance.

我想它不再找到matlabroot了。

那么,如何在没有root的情况下构建和安装位于/usr...下某处的某些源代码呢?

您可以使用 Virtualenv 或 venv 来处理此类问题。

编辑:随着我们对问题本身的深入了解,我们设法找出了答案。

如果您希望使用虚拟环境:python setup.py build --build-base="/path/to/directory_you_can_write_to" install --prefix="/path/to/virtualenv/" --user

如果你想完成@Feodoran要求的事情:python setup.py build --build-base="/path/to/directory_you_can_write_to" install --user

有用的链接:

  • https://de.mathworks.com/help/matlab/matlab_external/install-matlab-engine-api-for-python-in-nondefault-locations.html
  • https://python.org/3.2/install

相关内容

  • 没有找到相关文章

最新更新