πŸ”Ά Π—Π°ΠΌΠ΅Ρ‚ΠΊΠ° ΠΏΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚Ρƒ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π² Python



ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π° Python с Ρ‚Π°ΠΊΠΎΠΉ структурой ΠΏΠ°ΠΏΠΎΠΊ



πŸ“‚ proj

β”œ
πŸ“‚ builders

β”‚β””
πŸ“„ password_builder.py

β”œ
πŸ“‚ infrastructure

β”‚β””
πŸ“„ symbol_provider.py

β””
πŸ“„ main.py



Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ password_builder.py Π² main.py достаточно Π² Π½Ρ‘ΠΌ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ import builders.password_builder as pb



ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ Ссли password_builder.py Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ symbol_provider.py



from infrastructure.symbol_provider import * заканчиваСтся Π²Ρ‹Π»Π΅Ρ‚ΠΎΠΌ ModuleNotFoundError: No module named 'infrastructure'



Как Π±Ρ‹Ρ‚ΡŒ?



Π’ Π½ΡƒΠΆΠ½ΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ sys

import sys

динамичСски подправляСм ΠΏΡƒΡ‚ΠΈ поиска Python:

sys.path.append("../proj")



Всё Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ это сэкономит ΠΏΠ°Ρ€Ρƒ ΠΌΠΈΠ½ΡƒΡ‚.



Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ 1. Π˜ΡΡ…ΠΎΠ΄ΠΈΠΌ ΠΈΠ· Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ proj являСтся ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΎΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

*Π›ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π»Π΅Ρ‡ΠΈΡ‚ΡŒ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹ΠΉ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΎΠΌ




Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ 2. Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° path.append ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, Π² windows ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈΠ½Π°Ρ‡Π΅

#python #vscode