Будет ли задерживать pip / – требование переустановить скрипты bin или только яйца?
В среде Linux с вычислительным кластером мы предварительно установили разные версии python, которые нам нужны в / opt для кластерного headnode, и настройте / etc / exports на экспорт NFS /opt/pythonX.Y на вычислительные узлы для установки из headnode. Тем не менее, мы недавно перешли в более устойчивое хранилище на SAN, которое установлено на весь кластер. Мы перешли, например, /opt/python2.7 и /opt/python3.3 с headnode на новый путь на смонтированной SAN, но проблема в том, что многие из * .py-файлов под их подкаталогом bin / shebang, указывающий на путь old / opt, тем самым сохраняя это как зависимость.
Я подумал, что легко просто установить python на SAN вместо того, чтобы сбросить текущие пакеты, установленные в установках / opt python, с помощью 'pip freeze> packagelist.txt', а затем переустановить с помощью 'pip -r packagelist.txt' , но то, что было сделано, было установить все яйца (ожидалось), но почти ни один из соответствующих сценариев бинов (неожиданный). Я быстро обнаружил это, когда пользователи начали жаловаться на то, что их скрипты bash, которые используют многие из этих * .py бункеров / скриптов, сломались, когда их .bashrc указывал на новый путь SAN для запуска python, в первую очередь потому, что все сценарии * .py (которые по пути установки / opt) не были в файле pythonX.Y / bin / SAN SAN, хотя соответствующие яйца были установлены в каталог сайтов-пакетов.
Я пытался понять взаимосвязь между яйцами и сценариями в отношении установки и местоположения каталога (вывода), и я обнаружил, что setup.py должен иметь параметр «scripts =», указанный в функции setup (), как указано в этом вопросе SE: setup.py и добавление файла в / bin / .
Я не разработчик и даже не код в python, но может кто-то, пожалуйста, помогите мне понять, почему «переустановить» пипетку с помощью freeze / -r (–requirement) будет устанавливать яйца на сайт-пакеты / но не на скрипты на bin /? Если они не пришли из одного пакета или не установили, откуда они взялись? Если вам нужно больше информации, пожалуйста, дайте мне знать.
- Проверьте, является ли ввод строкой в цикле
- Как используется возвращаемое значение контекстного процессора Flask-Security?
- фляжка, как получить HTTP_ORIGIN запроса
- Проект пироксарной колбы не поддерживается
- Ошибка конфигурации Configurator для пирамиды Питона
Возможно, вы использовали rsynced над файлом конфигурации дистрибутива для python. В частности pydistutils.cfg:
https://docs.python.org/2/install/#location-and-names-of-config-files
Чтобы прояснить, сценарии относятся к программам python, которые обычно помещаются в PATH во время «яиц» или иным образом ссылаются на модули и библиотеки python, используемые в программах python.
В pydistutils.cfg должна быть настройка для «install_scripts» или «script_dir». Я бы сделал ставку, это все равно указывает на ваш старый каталог скриптов python, если это так.
- Ошибка авторизации 401 после подписания оконечных точек Google
- Извлечь содержимое RPM во временный каталог в Python
- веб-диаграмма с событиями наведения
- Использование Loop для поиска простых чисел Brute Force
- Скопируйте верхний треугольник в нижний треугольник в матрице питона
- Ошибка импорта моделей при попытке запустить приложение
- Как следить за перенастройкой Pyramid на тестах?
- Веб-сервер Python Flask перестает отвечать
- Определение функции __getattr__ и __getitem__ в функции не влияет
- Извлечение определенных данных из .pdf и сохранение в файле Excel
- Python Loop Reverse Diamond