Конкретні модулі не імпортуються після клонування сховища Git


1

Тому нещодавно я клонував сховище SymPy, зробивши такі кроки:

  • Створено віртуальне середовище Python3
  • Активував його (з терміналу)
  • Потім запустив git clone _sample_URL_

Після цього я запустив наступне, щоб відкрити IDLE:

$ python -m idlelib

Потім я запустив такі команди:

>>> import sympy

Немає помилок, але після цього я запустив наступне, щоб імпортувати модуль, як зазначено в цій документації :

from sympy.abc import x, y

вона дає таку помилку:

Traceback (most recent call last):
  File "<pyshell#8>", line 1, in <module>
    from sympy.abc import x, y
ImportError: No module named 'sympy.abc'

Будь-яка ідея, що я тут роблю неправильно?


Чи можете ви перевірити, що симпатія, яку ви імпортуєте, є тією, яку ви очікуєте? Спробуйте import sympyпотім sympy.__file__іsympy.__version__
матч

@match Я спробую це завтра ... Але що ти маєш на увазі під "тим, кого очікуєш". Ви припускаєте, що він імпортує з головного глобального пітону? (Не знаю правильний термін)
DuttaA

Так - щоб перевірити, sympyчи є імпортним вами, це клонований git, а не загальносистемний.
матч

@match, але чи це мало б значення? Я маю на увазі, що я не очікую, що він буде дуже різним (з точки зору версії), тому чи не слід імпортувати його добре?
DuttaA

@match Я запускав команди в оболонці IDLE. Він говорить про відсутність атрибута у файлі symy з назвою та без атрибута у названій версії sympy.
DuttaA

Відповіді:


2

Цілком ймовірно, що ви імпортуєте sympyінший, ніж той, який ви задумали.

Ви можете налагоджувати, який sympyви імпортуєте, sympy.__file__і sympy.__version__який повинен надавати більше інформації про те, який ви використовуєте, та допомагати налагоджувати речі.

Якщо це не працює, можливо, варто також перевірити, чи є у git repo відповідні файли, які ви очікували sympy/(наприклад, abc/тощо).

Крім того, якщо ви не переймаєтесь використанням останньої кодової форми github, просто зробіть pip install sympyзамість цього, щоб отримати останню версію у вашому віртуальному середовищі.


Я не знаю, ви розвивались за допомогою git чи ні, але якщо є, чи можете ви відповісти на запитання? Я завантажив симфію всередині неї, був налаштування. Моє запитання зараз, якщо я напишу якийсь новий модуль і натисну його в GitHub, чи буде він ідентичний оригіналу? Або щось зміниться після запуску setup.py?
DuttaA

Все зводиться до того, що setup.pyмістить - зазвичай достатньо лише сказати, pipяк створити та встановити пакет - однак він також може містити будь-який довільний код python, тому вам потрібно прочитати, що він робить, крім основного setupметоду.
матч
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.