在 import 语句之前设置 pythonpath

2024-03-27

我的代码是:

import scriptlib.abc
import scriptlib.xyz

def foo():
  ... some operations

但 scriptlib 位于其他目录中,因此我必须将该目录包含在环境变量“PYTHONPATH”中。

无论如何,我可以在执行 import 语句之前首先在环境变量“PYTHONPATH”中添加 scriptlib 目录,如下所示:

import sys
sys.path.append('/mypath/scriptlib')
import scriptlib.abc
import scriptlib.xyz

def foo():
  ... some operations

如果是,该值是仅适用于该命令提示符还是全局的?


这将添加 Python 进程/实例的路径(即正在运行的可执行文件)。任何其他 Python 进程都不会修改该路径。另一个正在运行的Python程序不会修改其路径,如果退出程序并再次运行,路径将不包括您之前添加的内容。你正在做的事情通常是正确的。

set.py:

import sys
sys.path.append("/tmp/TEST")

loop.py

import sys
import time
while True:
  print sys.path
  time.sleep(1)

run: python loop.py &

这将运行loop.py,连接到您的STDOUT,并且它将继续在后台运行。然后你可以运行python set.py。每个都有一组不同的环境变量。观察输出loop.py不会改变,因为set.py没有改变loop.py的环境。

导入注意事项

Python 导入是动态的,就像该语言的其他部分一样。没有进行静态链接。导入是一个可执行行,就像sys.path.append....

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

在 import 语句之前设置 pythonpath 的相关文章

随机推荐

  • django escapejs 和 simplejson

    我正在尝试使用 simplejson dumps 将 Python 数组编码为 json In 30 s1 test
  • 如何将PIL图像传递给python-pptx中的Add_Picture

    我正在尝试从剪贴板获取图像 并且想将该图像添加到 python pptx 中 我不想将图像保存在磁盘中 我已经尝试过这个 from pptx import Presentation from PIL import ImageGrab Ima
  • 使眼镜蛇命令标志成为必需

    我创建了一个 cobra 命令并添加了一个标志 cmd Flags StringVarP primaryIP primary ip p Help text 除了自己检查值并返回错误之外 还有其他方法可以使其成为必需吗 几个月前 这种行为发生
  • 类型错误:write() 参数必须是 str,而不是 _io.TextIOWrapper

    如何将一个文件复制到另一个文件 我使用的代码是 FileX open X txt r FileY open Y txt w X FileX FileY write FileX FileX close FileY close 这给出了错误 T
  • 数据库子类型/超级类型[重复]

    这个问题在这里已经有答案了 我有 农作物 玉米 大豆 和 谷物 表 Crop 中的一个条目对应于其他表之一中的单个条目 裁剪应仅与其他一张表一对一 但不得超过一张 Crop 表是必需的 因为它结合了其他表中的许多通用数据 并使代码端的信息查
  • 将双精度值转换为二进制值

    如何将双精度值转换为二进制值 我有一些像下面这样的值 125252525235558554452221545332224587265 我想将其转换为二进制格式 所以我将其保留为双精度 然后尝试转换为二进制 1 0 s 我正在使用 C net
  • 如何缓存或预加载SKLabelNode字体?

    我正在制作一个 Sprite Kit 应用程序 并在我的场景中添加了一个 SKLabelNode 当我加载 SKScene 时 我注意到有一个相当大的滞后峰值 在对应用程序进行分析后 我发现它来自于使用纸莎草字体创建 SKLabelNode
  • 如何使用 python 读取专辑封面? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 在我的搜索中 我发现有一些库可以通过读取 ID3 标签来做到这一点 如果是这样 哪一个最好用 我不打算
  • 将委托定义为函数指针

    我正在使用调用非托管函数指针的委托 这会导致垃圾收集器在使用之前对其进行收集 如 MSDN 上的 CallbackOnCollectedDelegate MDA 页面中所述 CallbackOnCollectedDelegate MDA 的
  • 在 WPF (MVVM) 中动态更改窗口的用户控件

    我是新来的WPF我只是用做一个简单的菜单MVVM with bindings and commands但我想我做错了什么 我只想更改所有窗口内容导入新的UserControl我定义了 每次按下菜单按钮时 这意味着我想消失菜单并显示新内容 我
  • mongodb 聚合 $lookup 与查找和填充

    我有一个像这样的视频架构 const VideoSchema new mongoose Schema caption type String trim true maxlength 512 required true owner type
  • 为什么应用程序突然关闭而没有显示任何错误?

    我的应用程序有什么作用 该应用程序正在从照片库中选择一张照片 我的问题是什么 一旦我从图库中选择照片 它就会毫无错误地关闭 我做了什么 我增加了设备的内存 但它不起作用 我把它从项目中取出来 活动运行良好 然后又回到了活动中 主要问题是什么
  • Python Ctypes Null 终止字符串块

    我正在使用 ctypes 实现使用登录创建进程 http msdn microsoft com en us library ms682429 aspx 一切正常 除了我不知道如何处理这一部分 指向新进程的环境块的指针 如果该参数为NULL
  • 如何处理 RxJava 中 Observable 中的 map() 中的异常

    我想做这个 Observable just bitmap map new Func1
  • HttpContext.Current.Request.ServerVariables["HTTP_REFERER"] null

    我正在尝试使用以下代码来获取 global asax session start 中的引用 url HttpContext Current Request ServerVariables HTTP REFERER 我尝试使用Request
  • 将默认 Python 版本从 2.4 更改为 2.6

    我想使用一些需要 Python 的新软件2 6 我们目前都有2 4 and 2 6安装在我们专用的 CentOS 服务器上 如下所示 which python usr local bin python which python2 6 usr
  • Javascript 倒计时每周六上午 11 点

    我有一个请求 要求它看起来与我在这里找到的大多数答案略有不同 我正在寻找一个 Javascript 倒计时时钟 它根据服务器的时钟在每周六上午 11 点重复 但服务器位于 CA 并且时钟需要为 EST 我分叉了另一个时钟作为开始 但是当涉及
  • 方法“train_test_split”中的参数“stratify”(scikit Learn)

    我正在尝试使用train test split来自 scikit Learn 包 但我在参数方面遇到问题stratify 以下是代码 from sklearn import cross validation datasets X iris
  • htmlagilitypack - 删除脚本和样式?

    我使用以下方法从 html 中提取文本 public string getAllText string html string allText try HtmlAgilityPack HtmlDocument document new Ht
  • 在 import 语句之前设置 pythonpath

    我的代码是 import scriptlib abc import scriptlib xyz def foo some operations 但 scriptlib 位于其他目录中 因此我必须将该目录包含在环境变量 PYTHONPATH