簡體   English   中英

如何為自制模塊設置 python 路徑?

[英]How do I setup python paths for selfmade modules?

我在設置我得到的框架時遇到了麻煩。 您可以在下圖中看到框架的文件夾層次結構:

在此處輸入圖片說明

在此處輸入圖片說明

在此處輸入圖片說明

在此處輸入圖片說明

問題在於您可以在最后一張圖片中看到的tug_resource_monitor_node.py的導入。 進口看起來像:

import rospy
from tug_resource_monitor.srv import *
import rosnode
import os
import psutil
from tug_resource_monitor.msg import NodeInfo, NodeInfoArray
from std_msgs.msg import Header
from tug_python_utils import YamlHelper as Config

我收到以下錯誤消息:No module named tug_resource_monitor.srv

我已經嘗試通過以下方式添加 python 模塊: sys.path.insert(0, "/home/username/catkin_ws/model_based_diagnosis/") (在tug_resource_monitor_node.py文件的開頭)我也嘗試將路徑添加到.profile通過添加以下行:

export PYTHONPATH=$PYTHONPATH:/home/username/catkin_ws/model_based_diagnosis

不幸的是,以上都沒有奏效。 有人可以幫我嗎?

1 嘗試export PYTHONPATH=$PYTHONPATH:/home/username/catkin_ws/model_based_diagnosis/scripts

2 嘗試from tug_resource_monitor import *

將導入更改為from model_based_diagnosis.tug_resource_monitor.srv import *將起作用。

catkin_ws/
└── model_based_diagnosis
    ├── __init__.py
    └── tug_resource_monitor
        ├── scripts
        │   └── tug_resource_monitor_node.py
        └── srv
            ├── __init__.py
            └── test_import.py

~$ pwd
/Users/username/catkin_ws/model_based_diagnosis/tug_resource_monitor/scripts

~$ python tug_resource_monitor_node.py 
import module from srv
Import form  /Users/username/catkin_ws/model_based_diagnosis/tug_resource_monitor/srv/test_import.py

和我用來測試的代碼

~$ cat tug_resource_monitor_node.py 
import sys

sys.path.insert(0, "/Users/username/catkin_ws")
from model_based_diagnosis.tug_resource_monitor.srv import test_import
print("import module from srv")
test_import.import_test()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM