Использование двух версий панд одновременно

#python #pandas #pip

Вопрос:

Я пытаюсь запустить два независимых кода (назовем их кодом 1 и кодом 2), которые используют две разные версии pandas (версия 0.20.1 для кода 1 и 1.2.4 для кода 2). Код 1 не запускается в версии 1.2.4, а код 2 не запускается в версии 0.20.1. Я ищу эффективный способ иметь на своем компьютере самую последнюю версию pandas (в этом случае 1.2.4), сохраняя при этом возможность запускать коды (например, код 1), для которых требуются более старые версии pandas. В идеале я хотел бы знать, есть ли способ указать версию pandas, которую я хочу использовать в начале моего сценария, прежде чем запускать его.

Одним из решений, которые я нашел в Интернете, было использование pkg_resources пакета следующим образом:

 import pkg_resources 
pkg_resources.require("pandas==0.20.1")
import pandas as pd
 

но я получаю следующую ошибку

 Traceback (most recent call last):

  File "<ipython-input-4-74003f72683b>", line 1, in <module>
    pkg_resources.require("pandas==0.20.1")

  File "C:Users**UserName**Anaconda3libsite-packagespkg_resources__init__.py", line 886, in require
    needed = self.resolve(parse_requirements(requirements))

  File "C:Users**UserName**Anaconda3libsite-packagespkg_resources__init__.py", line 777, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)

VersionConflict: (pandas 1.2.4 (c:users**UserName**anaconda3libsite-packages), Requirement.parse('pandas==0.20.1'))
 

Если возможно, я хотел бы знать, есть ли способ сделать это без изменения одного из двух кодов, которые я пытаюсь запустить. Спасибо!!

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

1. Судя по путям в обратной трассировке, похоже, что вы используете conda. Вы можете использовать среды conda , чтобы иметь несколько версий python и пакетов.

2. Я обязательно займусь этим вопросом. Я искал решение, в котором мне просто нужно было бы указать версию pandas, которую я хочу запустить в начале сценария, потому что другие люди с другими версиями pandas также могут запускать эти два кода. Создавая среду conda, каждый другой пользователь кодов также должен будет создавать среды conda на своих компьютерах, верно?

3. у вас есть виртуальная среда ( venv ) для запуска разных версий. И когда он активируется venv , вы можете установить pip install pandas==1.2.4 и в других venv , которые вы можете использовать pip install pandas==0.20.1