«Интерактивный сеанс стоит 1000 слов»
>>> f1 = open("bla.txt", "wt")
>>> f2 = open("bla.txt", "rt")
>>> f1.write("bleh")
>>> f2.read()
''
>>> f1.flush()
>>> f2.read()
'bleh'
>>> f1.write("blargh")
>>> f1.flush()
>>> f2.read()
'blargh'
Другими словами - да, будет один «открытый».
Это известная проблема совместимости TensorFlow с поддержкой AVX на старых процессорах, она может быть исправлена, если вы скомпилируете TensorFlow из источников: / 17411 # issuecomment-386888244 https://github.com/tensorflow/tensorflow/issues/17411#issuecomment-420157421
Я понял проблему. как я упоминал в нескольких комментариях, я использую виртуальную среду Python. Когда я выполнял скрипт python из командной строки, использовался интерпретатор python из виртуальной среды python, и все было хорошо. Всякий раз, когда я выполнял скрипт rom shell_exec
, использовалась установка по умолчанию интерпретатора python, и именно здесь произошла ошибка.
Я не очень опытен в использовании виртуальных сред Python, поэтому, вероятно, мне понадобилось так много времени, чтобы прийти к пониманию проблемы. К счастью, комментарий MohammedAyoubBENJELLOUN о shell_exec с использованием установки по умолчанию для python поставил меня на правильный путь, и я понял это оттуда.
Чтобы решить эту проблему, я просто вызвал интерпретатор python по пути интерпретатора внутри виртуальной среды python вместо того, чтобы пытаться активировать виртуальную среду и затем выполнять.
Например, я использовал:
/home/user01/anaconda3/envs/keras/bin/python test_script.py
Вместо:
. activate keras && python test_script.py