簡體   English   中英

由於“ ImportError:無法導入名稱utils”,因此無法在python中導入請求模塊

[英]Unable to import requests module in python due to “ImportError: cannot import name utils”

我正在嘗試在使用python的程序中導入python模塊請求(機器人的NAO為Choregraphe)。 我不能使用諸如sudo install等之類的shell命令。我只能通過將模塊移動到項目的lib文件夾中來導入模塊。

因此,我已經從pypi下載了請求,並且還降低了將請求移至請求文件夾( https://i.imgur.com/XXlSz0N.png )的要求。 但是,當我嘗試從程序中導入請求時,它返回一個錯誤:

File "C:\Users\gurfe\AppData\Roaming\PackageManager\apps\.lastUploadedChoregrapheBehavior\behavior_1\../lib\requests\__init__.py", line 112, in <module>
    from . import utils
ImportError: cannot import name utils

為什么會看到此錯誤?

在Choregraphe程序包中包含依賴庫可能會很棘手(您需要確保它們是針對正確的體系結構進行編譯的,並且對於虛擬機器人而言,它們的工作方式會有所不同)-但是首先,您是否確定這些庫尚未位於機器人?

我知道Pepper中包含“請求”; 可能包含在Nao中(我想是的,但是我沒有方便的Nao檢查); 如果是的話,則無需擔心將其包含在軟件包中(在虛擬機器人上運行時可能需要修改pythonpath……但是在所有情況下,您都應該能夠依賴系統請求而無需將其打包)

如果使用Choregraphe,則可以執行以下操作:將lib文件夾放入Choregraphe項目文件夾中。 在Choregraphe中創建一個python腳本並將其粘貼到init中:

class MyClass(GeneratedClass):
    def __init__(self):
        GeneratedClass.__init__(self)
        self.logger.warning("import only works on physical robot")
        behaviorPath = ALFrameManager.getBehaviorPath(self.behaviorId)
        sys.path.append(behaviorPath)
        k = behaviorPath.rfind("/")
        packagePath = behaviorPath[:k]
        sys.path.append(packagePath)

        import utils
        self.utils = utils

暫無
暫無

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

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