Tag: linux

Ошибка при запуске Open MPI в MPI_Init через Python

Я пытаюсь получить доступ к общей библиотеке с помощью OpenMPI через python, но по какой-то причине я получаю следующее сообщение об ошибке: [Geo00433:01196] mca: base: component_find: unable to open /usr/li/openmpi/lib/openmpi/mca_paffinity_hwloc: perhaps a missing symbol, or compiled for a different version of Open MPI? (ignored) [Geo00433:01196] mca: base: component_find: unable to open /usr/lib/openmpi/lib/openmpi/mca_carto_auto_detect: perhaps a missing […]

Python не закрывает дескрипторы файлов

Я разрабатываю длинный сценарий python, который делает много соединений с разными последовательными портами. Скрипт сбрасывает несколько часов на выполнение, ссылаясь на «Слишком много открытых файлов». Я отследил проблему в последовательном модуле, где метод .close (), похоже, не уменьшает количество дескрипторов файлов, используемых python. Я проверяю это с помощью lsof | grep python | wc lsof […]

Скомпилированные двоичные отчеты Python неправильной версии

Я попытался скомпилировать Python 2.7 из исходного кода. Вот мои команды: ./configure –prefix=/my/local/dir –exec-prefix=/my/local/dir –enable-shared –with-pydebug make make install И вывод, из which python является /my/local/dir/bin/python , является правильным. Но когда я запускал python –version я вижу Python 2.7.3 вместо Python 2.7.10 . Системная версия Python – 2.7.3. Может быть, системная версия Python каким-то образом […]

Был ли год 1000 (и другие) високосным годом?

Год Y – високосный год, если Y отлично делится на 4, и не на 100, или на 100 и 400 Следующие источники следуют приведенному выше правилу: Python (вывод calendar.monthrange(1000,2) равен (5, 28)) webconversiononline.com Тем не менее, следующие источники говорят, что 1000 – это високосный год: Linux cal (команда cal 2 1000 отображает 29 дней) timeanddate.com […]

Создание портативных приложений Django – нужна помощь

Я создаю приложение Django, которое я с комфортом запускаю (тест :)) на хосте Ubuntu Linux. Я хотел бы упаковать приложение без исходного кода и распространить его на другую производственную машину. В идеале приложение может выполняться командой ./runapp, которая запускает сервер CherryPy, который запускает код python / django. Я обнаружил несколько способов сделать это: Распространение файлов […]

Как я могу подсчитать каждый пакет UDP, отправленный по подпроцессам?

У меня есть приложение Python, которое организует вызовы в базовый процесс. Процессы вызываются с использованием subprocess.check_output и они вызывают SNMP-вызовы на удаленные сетевые устройства. Для мониторинга производительности я хотел бы подсчитать количество отправленных пакетов SNMP, которые передаются. Меня в первую очередь интересует количество пакетов. Размер пакета запроса / ответа будет интересным, но менее важным. Цель […]

Popen.communicate () выдает OSError: " Никаких дочерних процессов"

Я пытаюсь запустить дочерний процесс и получить его вывод на Linux из Python с помощью модуля подпроцесса: #!/usr/bin/python2.4 import subprocess p = subprocess.Popen(['ls', '-l', '/etc'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) out, err = p.communicate() Тем не менее, я испытываю некоторую шелушение: иногда p.communicate () бросает OSError: [Errno 10] No child processes Что может вызвать это исключение? Существует ли […]

Обработка сигналов в python-daemon

Я установил python-daemon и теперь я пытаюсь правильно обработать сигнал. Мой код: #!/usr/bin/env python # -*- coding: utf-8 -*- import signal, time, syslog import daemon def runDaemon(): context = daemon.DaemonContext() context.signal_map = { signal.SIGTERM: programCleanup } context.open() with context: doMainProgram() def doMainProgram(): while True: syslog.syslog("pythonDaemon is running") time.sleep(5) def programCleanup(): syslog.syslog("pythonDaemon STOP") if __name__ == […]

Командная строка Python: ошибка редактирования в предыдущей строке?

При использовании python через командную строку, если я вижу ошибку в предыдущей строке вложенного оператора, есть ли способ удалить или отредактировать эту строку после того, как она уже была введена? например: >>> file = open("file1", "w") >>> for line in file: … parts = line.split('|') <– example, I meant to type '\' instead … print […]

Адрес уже используется, но ничего в netstat или lsof

Я пытаюсь запустить Python SimpleHTTPServer на порту 7054: $ sudo python -m SimpleHTTPServer 7054 … socket.error: [Errno 98] Address already in use Итак, я выполнил следующие команды: $ sudo netstat -ntpu | grep 7054 $ sudo lsof -i -n -P | grep 7054 Но у меня нет никаких результатов.

Python - лучший язык программирования в мире.