Импорт моих собственных модулей из моего пакета в PyCharm работает для меня, код выполняется, и когда я пытаюсь запустить тот же код из моего терминала, получающего ModuleNotFoundError. Дерево каталогов выглядит так:
.
├── __init__.py
├── prm
│ ├── Functions.py
│ ├── INPUT.py
│ ├── __init__.py
│ ├── __main__.py
│ ├── __pycache__
│ │ ├── Functions.cpython-37.pyc
│ │ ├── INPUT.cpython-37.pyc
│ │ ├── __init__.cpython-37.pyc
│ │ ├── algorithmPRM.cpython-37.pyc
│ │ └── dronePRM.cpython-37.pyc
│ ├── algorithmPRM.py
│ └── dronePRM.py
├── requirements.txt
├── rrt
│ ├── __init__.py
│ ├── __main__.py
│ ├── __pycache__
│ │ ├── __init__.cpython-37.pyc
│ │ ├── algorithmRRT.cpython-37.pyc
│ │ ├── drone.cpython-37.pyc
│ │ ├── functions.cpython-37.pyc
│ │ ├── input.cpython-37.pyc
│ │ └── node.cpython-37.pyc
│ ├── algorithmRRT.py
│ ├── drone.py
│ ├── functions.py
│ ├── graph.py
│ ├── input.py
│ └── node.py
└── setup.py
работает python main .py получает ModuleNotFoundError.
основной .py код:
from rrt.algorithmRRT import rrt
import matplotlib.pyplot as plt
from rrt.input import *
from mpl_toolkits.mplot3d import Axes3D, axes3d
import sys
def main():
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
while True:
check = []
for j in range(len(drones)):
rrt(drone = drones[j], target=drones[j].finish)
check.append(drones[j].RRTfinished)
if all(check) : break
for j in range(len(drones)):
for k in range(len(drones[j].path)):
ax.scatter(drones[j].path[k][0],drones[j].path[k][1], drones[j].path[k][2], color = colors[j])
plt.show()
if __name__ == "__main__":
main()