【问题标题】:How to import a package that use absolute import in python如何在python中导入使用绝对导入的包
【发布时间】:2019-12-17 10:59:51
【问题描述】:

我正在尝试将volatility3 导入到我的python 项目/脚本中,这样我就不必使用os.system,因为python3 中已经生成了volatility3。

我想知道如何导入所述项目的所有功能/模块?我感兴趣的函数位于volatility3/volatility/framework 我试着简单地说:

>>> import volatility3.volatility.framework

但我收到以下错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/volatility3/volatility/framework/__init__.py", line 12, in <module>
    from volatility.framework import constants, interfaces
ModuleNotFoundError: No module named 'volatility'

我的猜测是我必须修改 sys.path 或 path 变量之一,但这似乎不起作用。

谢谢,

【问题讨论】:

    标签: python python-3.x import python-import volatility


    【解决方案1】:

    这里最好的解决方案是使用 pip3 从您已经存在的存储库文件夹中正确安装波动性:

    $ pip3 install /home/volatility3
    

    或直接来自 pipy(未测试):

    $ pip3 install volatility3
    

    那么你应该可以直接从volatility 导入包:

    Python 3.6.9 (default, Nov  7 2019, 10:44:02) 
    [GCC 8.3.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import volatility.framework
    >>> volatility.framework
    <module 'volatility.framework' from '/home/bruno/.local/lib/python3.6/site-packages/volatility/framework/__init__.py'>
    >>> 
    

    【讨论】:

    • 好的,谢谢。这就是我一直在寻找的。实际上,我在这里找到了相同的答案:stackoverflow.com/questions/14509192/… 我不知道如何表达我的问题。此外,pip3 似乎可以使用volatility3,而无需克隆波动率回购协议再次感谢
    • @Win 好吧,当然,如果包在 pipy 上(我没有费心查找它,因为你已经有一个本地 repo 克隆)。答案已编辑。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-23
    • 2018-05-15
    • 2014-05-02
    • 1970-01-01
    • 2018-01-08
    • 1970-01-01
    相关资源
    最近更新 更多