• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Python Packages - błąd importu

Object Storage Arubacloud
0 głosów
231 wizyt
pytanie zadane 6 maja 2021 w Rozwój zawodowy, nauka, praca przez Ventre90 Obywatel (1,170 p.)
edycja 6 maja 2021 przez Ventre90

Cześć wszystkim.

Chciałbym zaimportowac pewne klasy z pliku database.py do pliku w katalogu testy -> test_database.py.

Niestety nie moge tego zrobić za mopocą relevant path oraz nawet dodajac root do sys.path.

Drzewo:

CS/
│
├── __init__.py
├── server..py
├── client.py
├── users.py
├── database.py
│
└── tests/
    |
    ├── __init__.py
    ├── test_database.py
    ├── test_uers.py

 

Mam poniższe errory:

#test_database.py
import os, sys
sys.path.append(os.path.dirname(os.path.dirname(os.path.realpath(__file__))))

from CS import database

ModuleNotFoundError: No module named 'CS'

from .. import database

ImportError: attempted relative import with no known parent package (gdzie tutaj VSCode sam mi podpowiada te pliki z katalogu CS jako domyslny import po kropkach)

 

Ma ktoś jakiś pomysł co źle robie, a moze to jakieś ustawienia interpretera?

komentarz 6 maja 2021 przez adrian17 Ekspert (344,860 p.)
Ale czy CS to top-level moduł, czy jest coś jeszcze wyżej?
komentarz 6 maja 2021 przez adrian17 Ekspert (344,860 p.)
Ogólnie te wszystkie zabawy z sys.path, `..` etc powinny być zupełnie niepotrzebne. Właśnie spróbowałem samemu i wszystko działa out of the box.

Jeśli CS to _jest_ Twój top-level kod, to wyrzuć to `import CS` bo wystarczy samo `import database`.
komentarz 6 maja 2021 przez Ventre90 Obywatel (1,170 p.)
Nie wiem co dokładnie masz na mysli mówiąc TOP level kodu? Odolnie idąc od Pulpitu to jest 2gi plik ale pierwszy z kodem;

sciezka jest taka:

C:\Users\pl9891\Desktop\Pozamiataj\L002\CS\tests\test_database.py

jak zrobilem taki test: ze bez tych plikow miedzy Desktop a CS to tez mam błąd No module Named
komentarz 6 maja 2021 przez adrian17 Ekspert (344,860 p.)
Pytanie brzmi, co jest nad CS.
komentarz 6 maja 2021 przez Ventre90 Obywatel (1,170 p.)
Obecnie jest tak i niestety dalej mam błąd importu ( czy to jest juz top level kodu) ?

C:\Users\pl9891\Desktop\CS\tests\test_database.py

Jeszcze testowałęm czy venv pomoze ale nic nie zmieniło.
komentarz 6 maja 2021 przez adrian17 Ekspert (344,860 p.)

U mnie wszystko ładnie działa na dwa różne sposoby:

http://puu.sh/HEq3E/660cb42420.mp4

komentarz 6 maja 2021 przez Ventre90 Obywatel (1,170 p.)
edycja 6 maja 2021 przez Ventre90

U mnie to nie działa tak jak u Ciebie nie wiem dlaczego. Jak dodałem to pliku test_database.py:

sys.path.insert(0, "sciezka bezwzgledna do katalogu CS")

- to dopiero zadziałało. chciałbym bardzo jednak żeby to działao tak jak na twoim demo. Nie wiem jednak co tu mam poustawiać, żeby osiągnąć ten efekt bez tej zabawy z sys.path

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 1,246 wizyt
pytanie zadane 7 lutego 2018 w SQL, bazy danych przez czujek22 Dyskutant (7,670 p.)
0 głosów
0 odpowiedzi 137 wizyt
pytanie zadane 10 marca 2016 w C i C++ przez Avernis Nałogowiec (27,400 p.)
0 głosów
2 odpowiedzi 579 wizyt
pytanie zadane 9 kwietnia 2021 w Python przez TeaCup Obywatel (1,370 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...