Δημοσιεύτηκε: 22 Φεβ 2012, 21:11
από medigeek
Βάλε στο test2.py
Κώδικας: Επιλογή όλων
print(sys.path)


Φαίνεται πως δεν αλλάζει το current working directory, παραμένει στο root path "example".
έγραψε:$ python3 test.py
['/home/savvas/Desktop/example', '/usr/lib/python3.2', '/usr/lib/python3.2/plat-linux2', '/usr/lib/python3.2/lib-dynload', '/usr/local/lib/python3.2/dist-packages', '/usr/lib/python3/dist-packages', '/home/savvas/Desktop/example']
Traceback (most recent call last):
File "test.py", line 1, in <module>
from folder import test2
File "/home/savvas/Desktop/example/folder/test2.py", line 5, in <module>
import test3
ImportError: No module named test3


Άρα στο folder/test2.py:
Κώδικας: Επιλογή όλων
import folder.test3


Δεν χρειάζεται sys.path.append. Αν το χρειάζεσαι, πάλι στο test2.py:
Κώδικας: Επιλογή όλων
import os, sys
sys.path.append(os.path.dirname(__file__))
print(sys.path)

import test3