从我在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()