Уже установленные библиотеки отсутствуют после запуска кода

#python #cluster-computing

#python #кластерные вычисления

Вопрос:

Я пытаюсь запустить код в виртуальной среде python в кластере. Здесь я установил все соответствующие библиотеки, такие как h5py, plotly, tqdm, mpi4py и vtk, используя команду pip install ____, и все эти библиотеки установлены просто отлично. Но когда я запускаю свой код, система снова начинает запрашивать эти библиотеки. На данный момент, если я попытаюсь переустановить эти библиотеки, я получаю такие подсказки, как:

ПРЕДУПРЕЖДЕНИЕ: каталог ‘/gpfs/fs1/home//a5saieed/.cache/pip’ или его родительский каталог не принадлежат текущему пользователю или недоступны для записи. Кэш отключен. Проверьте разрешения и владельца этого каталога. При выполнении pip с помощью sudo может потребоваться флаг sudo -H. По умолчанию пользовательская установка, поскольку обычные пакеты сайта недоступны для записи

команда sudo не работает, поскольку это кластер, на котором я не имею права его использовать.

Что может быть причиной этой проблемы и каким может быть ее возможное решение?

…..

Ответ №1:

вы не должны использовать sudo с pip при активированном virtualenv. Попробуйте установить библиотеки таким образом:

 # installs on virtualenv's python:
$ .env/bin/python -m pip install yourlibrary
 

Комментарии:

1. Я попробовал, но он все еще застрял. Теперь он не запрашивает библиотеки, но выдает следующую ошибку: srun: ошибка: запрос на дублирование PMK_KVS_Barrier из задачи 0 Странно, что этот код работал всего два дня назад в той же среде. Все, что я сделал по-другому, это протестировал его на одном узле, а затем отправил задание на slurm для mpirun. После этого все больше не работает. Даже тот же подход.

2. Это еще один другой вопрос. Можете ли вы опубликовать его независимо?

3. И отметьте мой ответ как решение для исходного вопроса?

4. Установлена ~/.env ли ./.env конкретная виртуальная среда явно в этом месте? Если последнее, то относительно какого каталога? Я заглянул в сами каталоги venv и не вижу его там. Я никогда не знал о псевдолокации для виртуальной ~/.env среды, являющейся or ./.env . Я только что просмотрел этот каталог на нескольких серверах Linux, а также на моем Mac, и я не могу его найти, хотя мы используем виртуальные среды на всех наших серверах. Некоторые из них были CentOS, а некоторые — Ubuntu. Было бы полезно получить некоторое объяснение того, что с этим происходит.

5. Привет @Steve, надеюсь, это решит ваши сомнения: advanced-python.readthedocs.io/en/latest/setup /…