jython - 什么是 __pyclasspath__?

标签 jython

在我不明白的情况下,当我在 Jython 中导入模块时,__file____pyclasspath__ 作为前缀:

>>> import coverage
>>> coverage.__file__
'__pyclasspath__/coverage/__init__$py.class'

有时不会:

>>> import coverage
>>> coverage.__file__
'coverage/__init__$py.class'

我现在无法重现__pyclasspath__情况,因此该路径的详细信息可能是错误的。该前缀是什么意思,什么情况会导致它?

Jython docs提到__pyclasspath__,但只说它是“我们稍后将讨论的特殊标记”,但稍后不再讨论它。

不知怎的,这件事发生在我的 Jython virtualenv 中,tox 为我创建了作为coverage.py 测试套件的一部分。当我删除 virtualenv 时,它被重新创建,并且前缀消失了。

最佳答案

如果 coverage.py 位于 .jar 文件中,然后将该 .jar 文件添加到类路径中,coverage.__file__ 将带有 前缀__pyclasspath__.

关于jython - 什么是 __pyclasspath__?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49157979/

相关文章:

java - 带有 Jython 的 Eclipse 不理解 Java 导入

python - 使用 Jython 运行 Flask 应用程序

web-applications - 如何分发我的 Jython war 中使用的库?

java - 如何为 Jython 设置环境变量?

python - 不匹配时返回 NULL

websphere - wsadmin getStatsObject 未返回 JVMRuntime 的所有指标

jython - 在 Jython 中将 int 变量类型转换为字符串,以便在 Sikuli 中使用

python - 如何使用python检测进程是否正在运行

python - 让 Python 的 nltk.wordnet 模块为 Jython 工作

java - python 变量中的空格作为参数传递给子进程