2016-11-30 2 views
0

Я хотел бы использовать python setup.py install для установки Spyder на /AppDir/usr (т. Е. Это --prefix, который я указываю на python setup.py install), и я хотел бы, чтобы эта установка Spyder работала, даже если я перемещаю каталог /AppDir. Это в настоящее время не так, как когда я кд к перемещенным /AppDir/usr/bin (который уже не в /AppDir/usr/bin, а в ~/GitHub/mine/packaging/AppImages/recipes/spyder/AppDir/usr/bin, как я переехал его) каталог и запустить ./spyder внутри нее я получаю сообщение об ошибке:Как установить python setup.py для использования относительных путей при обращении к установке python?

zsh: ./spyder: bad interpreter: /AppDir/usr/bin/python: no such file or directory

Чтобы установить эту установку портативного устройства Spyder, я считаю, что мне нужно установить файлы Spyder в /AppDir/usr, чтобы вызвать относительные пути к файлам, а не абсолютные пути к файлам (поэтому вместо вызова на интерпретаторе /AppDir/usr/bin/python он мог бы позвонить по адресу ./python). Есть ли способ сделать это?

EDIT: Я планирую создать AppImage (формат пакетного распространения) из этого AppDir, так что символические ссылки не будут работать! Поскольку этот AppImage предназначен для загрузки другими и используется другими локальными решениями (например, заставляя его работать, изменяя мою локальную систему, например, мой файл ~/.zshrc), не будет работать!

+0

Почему вы не устанавливаете с помощью пипса? pip install spyder? – MYGz

+0

Дает эту ошибку https://github.com/probonopd/AppImages/issues/149#issuecomment-263770455. – BH2017

ответ

0

Ошибка, которую вы получаете от shebang в ./spyder. Shebangs must use absolute paths, поэтому он не может автоматически изменяться при перемещении папки с помощью интерпретатора. Фактически, сама идея, лежащая в основе Filesystem Hierarchy Standard, заключается в том, что логические местоположения файлов остаются неизменными и предсказуемыми независимо от их физического местоположения (например, для Python, например, файлы .pyc имеют абсолютные пути внутри них, поэтому их, возможно, придется регенерировать после установки переехал).

Самый простой выход - это вручную найти & заменять shebangs во всех сценариях, которые используют эту специфическую установку Python. См. linux - How/Is it possible to install python in a portable way? - Unix & Linux Stack Exchange и Creating a Portable Python (local install) for Linux для других вариантов.

Смежные вопросы