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

Python Packages - błąd importu

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
499 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 Mentor (350,440 p.)
Ale czy CS to top-level moduł, czy jest coś jeszcze wyżej?
komentarz 6 maja 2021 przez adrian17 Mentor (350,440 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 Mentor (350,440 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 Mentor (350,440 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,328 wizyt
pytanie zadane 7 lutego 2018 w SQL, bazy danych przez czujek22 Dyskutant (7,670 p.)
0 głosów
0 odpowiedzi 157 wizyt
pytanie zadane 10 marca 2016 w C i C++ przez Avernis Nałogowiec (27,400 p.)
0 głosów
2 odpowiedzi 733 wizyt
pytanie zadane 9 kwietnia 2021 w Python przez TeaCup Obywatel (1,370 p.)

93,164 zapytań

142,175 odpowiedzi

321,926 komentarzy

62,491 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 453p. - Marcin Putra
  2. 453p. - dia-Chann
  3. 447p. - Łukasz Piwowar
  4. 443p. - CC PL
  5. 431p. - Łukasz Eckert
  6. 428p. - rafalszastok
  7. 423p. - Michal Drewniak
  8. 423p. - Adrian Wieprzkowicz
  9. 418p. - rucin93
  10. 415p. - Mikbac
  11. 410p. - Piotr Aleksandrowicz
  12. 408p. - ksalekk
  13. 402p. - Mariusz Fornal
  14. 401p. - Dawid128
  15. 392p. - ikarek-one
Szczegóły i pełne wyniki

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

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...