在Python中永久添加文件路径到sys.path

2023-11-22

我有一个名为example_file.py,我想从其他各种文件中使用它,所以我决定添加example_file.py to sys.path并将此文件导入到另一个文件中以使用该文件。为此,我在 IPython 中运行了以下命令。

import sys
sys.path
sys.path.append('/path/to/the/example_file.py')
print(sys.path)

我可以看到我刚刚添加的路径,当我尝试从另一个目录路径导入此文件时,如下所示:

import example_file

它工作得很好,但是一旦我退出 IPython,再次输入它,并检查sys.path,我看到我添加的路径不存在,那么如何在Python中永久添加到sys.path的路径?


有几种方法。最简单的方法之一是创建一个my-paths.pth文件(如描述here)。这只是一个扩展名为.pth你放入你的系统中的site-packages目录。在文件的每一行上放置一个目录名称,因此您可以在其中放置一行/path/to/the/它将将该目录添加到路径中。

您还可以使用 PYTHONPATH 环境变量,它类似于系统 PATH 变量,但包含将添加到的目录sys.path. See 文档.

请注意,无论你做什么,sys.path包含目录不是文件。您不能“将文件添加到sys.path”。您始终添加其目录,然后就可以导入该文件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在Python中永久添加文件路径到sys.path 的相关文章

随机推荐

  • 如何使用 Java 找出默认文件打开程序?

    我需要找出 Windows 上给定文件的默认文件打开器 以便我可以自定义命令参数并使用默认打开器 查看器打开文件 我的真实使用场景是使用用户的默认媒体播放器打开多个多媒体文件 以便所有文件都将添加到用户的播放列表中 对于可以在同一实例上打开
  • 在 CQRS 中,创建实体时如何构建响应?

    如果使用 CQRS 并创建一个实体 并且其某些属性的值是其构造函数的一部分生成的 例如默认值 active的值status属性 或当前日期时间createdAt 如果您的命令处理程序无法返回值 如何将其包含在响应中 您需要在创建实体之前创建
  • 可以更改目录并在脚本完成后保留更改吗?

    在试图回答的过程中向其他用户提问 我发现了一些引起我好奇的事情 import os os chdir 就Python而言 将更改工作目录 所以如果我在 home username 然后我跑os chdir 任何后续代码都会像我一样工作 ho
  • GIT 的名字不明确?

    我正在尝试查看我的本地分支机构之一 名为 TEAM20 lab2 release 当我尝试执行此操作时 出现不明确的引用名称错误 git branch TEAM20 lab2 release warning refname TEAM20 l
  • pythontensorflow导入dll加载失败

    我安装了最新的 python 3 6 4 x64 版本 然后使用 pip3 安装仅用于 cpu 的tensorflow C gt pip3 install tensorflow 但是当我尝试在 python 中导入tensorflow时 它
  • 如果 main 方法完成执行,任何长时间运行的线程会发生什么?

    since main 在线程上运行 并且一旦main 完成后 主线程应该停止 因此 如果main 调用了一个长时间运行的线程 即使在main 已完成所有任务 自从main 返回后 其他线程会被终止吗 我觉得不是 但为什么 public st
  • 为什么 git 标签没有出现在任何分支上?

    我克隆了蚊子仓库有标签的v1 4 9 但是 标记的提交似乎不在分支上 怎么会发生这种事 作者实际上是否在自己的存储库上保留了一个分支 但只将标签从该分支推送到 GitHub 或者他只是对标签做出了承诺 我将标签制作为本地分支 git che
  • 设置以年为单位的时间跨度格式

    我有一个具有 2 个日期属性的类 FirstDay and LastDay LastDay可以为空 我想生成一个格式为的字符串 x year s y day s 如果总年份小于 1 我想省略年份部分 如果总天数小于 1 我想省略日期部分 如
  • 在 Java 上嵌入 XULRunner 应用程序

    我的目标是让 Limewire JAVA 和 Songbird XULRunner 一起运行 我认为最好的方法是在 JAVA swing 面板内运行 XUL 应用程序 songbird 还有别的办法吗 将 GUI 完全放在 XUL 中 然后
  • VBA 展望。尝试从电子邮件正文中提取特定数据并导出到 Excel

    我在这里找到了很多指南 这些指南使我达到了目前的水平 但我需要一些帮助来完成我的代码 我在这方面完全是新手 所以请耐心等待 我正在尝试在 Outlook 中使用 VBA 将 Outlook 某个文件夹中的电子邮件中的数据导出到 Excel
  • “无法解析的日期:1302828677828”尝试使用 Gson 反序列化从服务器收到的毫秒格式日期

    经过 4 个小时不停地尝试解决问题后 我决定在这里询问是否有人可以帮助我 问题是我的 Android 客户端在尝试反序列化从服务器接收的数据时抛出 无法解析 1302828677828 异常 我想知道是否可以使用 Gson 反序列化毫秒格式
  • 使用 django-allauth 进行多重注册、注册表单

    我正在开发的应用程序需要两种不同类型的用户单独登录 我们需要 客户 和 企业 所有者能够注册 对于 企业 所有者 我需要做的就是设置布尔值user is business to True 我用过ACCOUNT SIGNUP FORM CLA
  • 如何让vim在运行带有“!”的命令时使用与我的登录shell相同的环境?

    I use ls执行 bash 命令 但是在我配置了类似的东西之后source usr profile in profile文件 vim 也不会获取该文件 所以当我想执行在中声明的函数时usr profile 我必须跑 source usr
  • jQuery 工具可使用鼠标滚轮滚动 - 滚动一个位置并停止

    我正在使用绑定 取消绑定进行鼠标滚轮滚动 基于此响应 Jquery 取消绑定鼠标滚轮事件 然后在操作完成后重新绑定它 我正在从 delta 向上挖掘事件树 以仅针对 X 鼠标滚轮值 一切都运转良好 我试图克服的问题 我想简单地向前 向后滚动
  • 在 Openshift 上部署 Sails.js ...应用程序一遍又一遍地重新启动 [重复]

    这个问题在这里已经有答案了 我要部署sails js 版本0 9 7 应用程序开放式换档但是之后git push我得到这个日志 debug Lowering sails DEBUG Starting child process with n
  • 在 C# 中传递命令行参数

    我正在尝试将命令行参数传递给 C 应用程序 但在传递类似这样的内容时遇到问题 C Documents and Settings All Users Start Menu Programs App name 即使我添加 到论点 这是我的代码
  • Xcrun PackageApplication,失败,无法复制应用程序

    我在 Xcode 中创建了一个简单的应用程序 设置调试和发布配置的配置 我在终端执行 xcodebuild target signtest configuration Debug sdk iphoneos clean build 并且它正在
  • scala 类加载器混乱

    请考虑以下测试程序 使用scala 2 9 0 1 object test def main args Array String println ClassLoader getSystemClassLoader getResource to
  • C# - 俄罗斯方块克隆 - 无法阻止正确响应箭头键组合

    我正在使用 Visual C 2005 编写俄罗斯方块游戏 这是我迄今为止设计的最广泛的程序 我创建了一个形状类和一个块类来控制不同俄罗斯方块块的位置 移动和显示 我为每个形状提供了 moveDown moveLeft 和 moveRigh
  • 在Python中永久添加文件路径到sys.path

    我有一个名为example file py 我想从其他各种文件中使用它 所以我决定添加example file py to sys path并将此文件导入到另一个文件中以使用该文件 为此 我在 IPython 中运行了以下命令 import