Я пытаюсь изучить Pandas и делаю простой проект в PyCharm, но PyCharm сообщает, что произошла ошибка, поскольку я не использую определенные устаревшие версии Pandas, NumPy и Faker. Я не знаю, что такое Факер. Вы можете увидеть сообщение об ошибке и мой код ниже, хотя мой код не имеет большого значения для моего вопроса. Код по-прежнему работает как положено, но я хочу понять, не создаю ли я проблемы на будущее.
Я попробовал это поискать в Google, но не знаю, по каким ключевым словам мне следует искать.
@JohnGordon Вы были правы, существовал файл требований.txt, в котором указаны эти версии. Кажется, я случайно скопировал и вставил его вместе с другими файлами. Я удалил его сейчас, и предупреждение исчезло после того, как я закрыл и снова открыл проект. Спасибо!
Пожалуйста, убедитесь, что код размещен в текстовом формате, а не в виде скриншота.
Я не думаю, что это требование. Возможно, у вас более старая версия, о которой PyCharm пытается вас предупредить.
Судя по содержимому .venv\Lib\site-packages, я использую NumPy 2.0.0 и Pandas 2.2.2, и пакет под названием Faker не установлен.
Судя по тому, с чем я сталкивался в прошлом, это обычно означает, что есть либо requirements.txt
, либо pyproject.toml
, либо что-то подобное.
файл в каталоге вашего проекта. Эти файлы определяют, для каких версий необходимых пакетов был создан проект, чтобы пользователь знал, что если у него другая версия, разработчик не может гарантировать, что код будет работать.
По крайней мере, для часто используемых стилей, независимо от стиля файла требований проекта, в него будут включены строки, подобные тем, которые вы видите в этом предупреждающем баннере от PyCharm. Это будет выглядеть как
numpy == 1.18.4
pandas == 1.0.4
... other package requirements ...
Причина, по которой отображается предупреждение, заключается в том, что эти требования указаны как строгие равенства, а это означает, что разработчик указывает, что эти версии этих пакетов являются ЕДИНСТВЕННОЙ версией, с которой он гарантирует, что код будет работать.
Но это не единственный тип требований, который может быть указан в списке — есть также >=
, означающее, что это должна быть как минимум указанная версия, <=
максимум и т. д. Однако из того, что я видел, синтаксис файла требований может немного отличаться в зависимости от стиля, хотя я не знаю этого наверняка. Я бы рекомендовал поискать синтаксис любого конкретного файла требований, который у вас есть.
Вы импортируете индивидуальный пакет? Сейчас у меня нет времени проверить это, чтобы убедиться, но я считаю, что возможно, что импортированный пакет, который не был установлен через pip или менеджер среды, такой как conda, также может вызывать подобные предупреждения (например, в в случае загрузки исходного кода с GitHub и включения его в свой проект)
(Кстати, похоже, что можно использовать несколько различных файловых соглашений, хотя я не знаю, какие файлы PyCharm автоматически обнаружит менее распространенные. Судя по тому, что мне удалось найти в документации Pycharm, это кажется, что вы можете указать PyCharm на любой имеющийся у вас файл требований, если он не сможет его автоматически обнаружить.)
Это оказался файл требований.txt, который я случайно скопировал вместе с другими файлами.
Полезно помнить, что всегда, когда вы не знаете, какая версия пакета, например pandas
или numpy
, действительно используется в вашем скрипте, вы всегда можете попытаться получить атрибут __version__
данного пакета:
import numpy as np
import pandas as pd
print(np.__version__)
print(pd.__version__)
но у faker
на самом деле есть атрибут VERSION
:
import faker
print(faker.VERSION)
Похоже, у вас есть файл
requirements.txt
со старыми версиями. См. документацию pycharm об этом файле.