将特定目录添加到 Python 搜索路径

发布时间:2023年12月25日

将特定目录添加到 Python 搜索路径

最近在使用青云1000(昇腾310)时,有很多华为提供的第三方库,不是通过pip安装的那些,在使用时不能直接import直接使用,简而言之就是python找不到这些库,下面提供三种措施

1. 使用 sys.path.append 在 Python 脚本中添加路径

这种方法用于在运行时动态地将一个新的目录添加到 Python 的模块搜索路径。假设你想在 Python 脚本中导入一个位于非标准路径的模块,你可以使用 sys.path.append。有了下面这行代码之后,后面可以直接import

sys.path.append("/path/to/acllite")

image-20231225185909576

  • 优点:简单直接,可以在脚本中根据需要添加任何路径。
  • 缺点:仅在当前运行的 Python 脚本或会话中有效。重新启动 Python 或运行其他脚本时,需要再次添加。

2. 修改 .bashrc.profile 来设置 PYTHONPATH

这种方法涉及修改你的 shell 的配置文件(如 .bashrc.profile),以便在环境变量 PYTHONPATH 中永久添加一个新的路径。

export PYTHONPATH="$PYTHONPATH:/path/to/acllite"
  • 优点:对于所有在此 shell 配置下启动的 Python 会话持久有效。一次设置,无需再次修改。
  • 缺点:只适用于从修改了 .bashrc.profile 的终端启动的 Python。如果在不同的环境(例如,某些 IDE 或系统服务)中运行 Python,可能不会包含这些设置。

3. 在 Python 虚拟环境中使用 .pth 文件

当使用虚拟环境时,你可以在该环境的 site-packages 目录中创建一个 .pth 文件,其中包含需要添加到 sys.path 的路径。

例如,在 /path/to/virtualenv/lib/pythonX.X/site-packages/ 下创建一个名为 acllite.pth 的文件,并在其中写入:

/path/to/acllite
  • 优点:仅对特定的虚拟环境有效,不会影响系统的其他部分或其他项目。有利于保持项目的环境隔离。
  • 缺点:只在激活了特定虚拟环境的情况下有效。对于不使用虚拟环境的情况无效。

缺点**:只在激活了特定虚拟环境的情况下有效。对于不使用虚拟环境的情况无效。

根据你的使用场景和需求,你可以选择适合你的方法。例如,如果你正在开发一个特定的项目,并且已经在使用虚拟环境,那么使用 .pth 文件可能是最佳选择。如果你需要在多个项目或全局环境中访问 acllite,则修改 .bashrc.profile 可能更合适。对于一次性或临时的需求,直接在脚本中使用 sys.path.append 就足够了。

文章来源:https://blog.csdn.net/Johnor/article/details/135206782
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。