Python setup.py без рута - PullRequest
       9

Python setup.py без рута

0 голосов
/ 24 октября 2018

Я бы хотел установить модуль 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

Но тогда я не знаю, как это установить.Также я не могу объединить эти 2 подхода, так как 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.

Итак, как мне собрать и установить какой-нибудь источник, расположенный где-то под /usr..., не будучи пользователем root?

1 Ответ

0 голосов
/ 24 октября 2018

Вы можете использовать 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

Полезные ссылки:

...