До сих пор мы установили psutil через наш пользовательский сервер pypi.Установка psutil без gcc
Теперь у нас есть новая среда, где мы не должны устанавливать gcc.
Теперь старый способ (pip запускает gcc во время установки) больше не работает.
Контекст:
- серверы Linux
- питон внутри virtualenv
- Весь код должен быть развернут из нашего центра обработки данных (без доступа к интернету)
Я вижу эти альтернативы:
RPM
Создайте RPM. Поскольку мы уже запускаем наш virtualenv с --system-site-packages
, это работает. Это заставляет все virtualenvs на сервере использовать ту же версию psutil
. Но это не будет большой проблемой.
Колесо
Я никогда не использовал это.
Замораживание
Используйте инструмент, как cx_freeze
. Я никогда раньше этого не делал.
Другое решение?
Я думаю, что есть другие, может быть, лучшие способы решить эту проблему.
фон
psutil
является лишь примером в данном случае. Тот же вопрос возникает и для других пакетов python, содержащих c-расширения. Представьте, что здесь нет RPM.
Я уверен, что я бы просто использовать колесо для этой ситуации. Затем вам нужно построить колесо для каждой целевой архитектуры (хорошим примером этого является страница Гольке [колеса для Windows] (http://www.lfd.uci.edu/~gohlke/pythonlibs/) - убедительная причина для это то, что большинство пользователей Windows не имеют правильной настройки для компиляции C для расширений). Учитывая щедрость, которую вы предложили, есть ли что-то особенное, что заставляет вас думать о компиляции колес, а затем, используя, например, 'pip install' на колесе (' .whl') на целевой машине может быть проблематичным для вас? –
Похоже, это может быть обманом http://stackoverflow.com/questions/31380578/how-to-avoid-building-c-library-with-my-python-package –