Hej dopiero zaczynam przygode z Pythonem ale juz mam problem. Otóż mam kilka plikow .py w ktorych mam pewne funkcje. Chcialbym moc je jakos importowac do notatnika Jupyter (korzystam z Anacondy). Jak "zainstalowac" te pliki .py (lub do jakiego folderu je wrzucic) zebym w notatniku Jupyter mogl tylko napisac import nazwa_pliku
i zebym mogl od razu korzystac z tamtejszych funkcji? Lub analogicznie chcialbym wrzucic wszystkie te pliki do jednego folderu np "dx" i chcialbym tylko moc napisac import dx zeby wszystkie pliki .py mi sie automatycznie zaladowaly.
Albo powinne być w ścieżce, dla tego interpretera, albo w bierzącym katalogu.
Tuptuś Tupta napisał(a):
Hej dopiero zaczynam przygode z Pythonem ale juz mam problem. Otóż mam kilka plikow .py w ktorych mam pewne funkcje. Chcialbym moc je jakos importowac do notatnika Jupyter (korzystam z Anacondy). Jak "zainstalowac" te pliki .py (lub do jakiego folderu je wrzucic) zebym w notatniku Jupyter mogl tylko napisac import nazwa_pliku
Na pewno musisz instalować swoją paczkę? Jeżeli tak to polecam oficjalną dokumentację
https://docs.python.org/3/distutils/setupscript.html
i zebym mogl od razu korzystac z tamtejszych funkcji? Lub analogicznie chcialbym wrzucic wszystkie te pliki do jednego folderu np "dx" i chcialbym tylko moc napisac import dx zeby wszystkie pliki .py mi sie automatycznie zaladowaly.
Po prostu w tym folderze stwórz plik __init__.py
który będzie importował wszystkie funkcje, które chcesz. np.
./dx/foo.py
def foo():
print("asd")
./dx/bar.py
def bar():
print("bar")
./dx/__init__.py
from .foo import *
from .bar import *
from .foo import *
from .bar import *
Import all, czyli Pokazujesz mu zuo, już od poczatku.
Dzięki działa, czyli ten folder musiałem mieć w tej samej lokalizacji co jak otwieram Jupytera :)
możesz ścieżki dodawać w skrypcie:
import sys
sys.path.append('../mymodules')
import mylib1
albo ustawić wcześniej zmienną środowiskową PYTHONPATH
:
$ export PYTHONPATH='/home/user1/dev/py/mymodules'
$ python3 myapp.py
lub w formie krótszej:
$ PYTHONPATH='../mymodules' python3 myapp.py