【问题标题】:How to prevent Python from looking into the site packages for a module?如何防止 Python 查看模块的站点包?
【发布时间】:2019-12-21 05:13:43
【问题描述】:

我希望执行以下操作: 从 aienvs.Sumo.SumoGymAdapter 导入 SumoGymAdapter 但是 python 转到以下路径并导入它: /home/azlaan/.local/lib/python3.6/site-packages/aienvs/Sumo

我不希望它从站点包中导入,而是从这个目录中导入: /home/azlaan/../../aienvs/aienvs/Sumo

我在 .bashrc 里面添加了 pythonpath 如下: export PYTHONPATH="/home/azlaan/PycharmProjects/otherprojects/aienvs:$PYTHONPATH"

bashrc文件中这一行之前还定义了另一个PYTHONPATH,不知道有没有影响。

【问题讨论】:

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


    【解决方案1】:

    Python 扫描 sys.path 列表下的路径以导入模块。 默认情况下,site-packages 路径将存在于 sys.path 列表下,并且由于您的模块存在于 site-packages 目录下,python 将从这里导入模块。

    如果您想从 /home/azlaan/../../aienvs/aienvs/Sumo 导入,请将此路径插入到 sys.path 列表的第 0 个索引处。将下面的行添加到您的脚本中,这应该可以使其正常工作。

    导入系统
    sys.path.insert(0, "/home/azlaan/../../aienvs/aienvs/Sumo")
    从 SumoGymAdapter 导入 SumoGymAdapter

    【讨论】:

      猜你喜欢
      • 2013-12-13
      • 2015-11-16
      • 1970-01-01
      • 2011-02-16
      • 1970-01-01
      • 1970-01-01
      • 2011-02-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多