当前位置: 首页 > 面试题库 >

python import在mercurial_keyring.py文件中的行为似乎有所不同

汪理
2023-03-14
问题内容

一个奇怪的import错误使我无法安装Mercurial扩展程序。

我正在尝试使mercurial_keyring扩展程序运行,这样我每次使用Mercurial进行项目时都不必键入用户名和密码。

我正在使用Python 2.7.1。我使用https://www.mercurial-scm.org/提供的二进制文件安装了mercurial 。

我安装keyringmercurial_keyring使用pip

我首先尝试通过将扩展名添加到来添加扩展名~/.hgrc

[extensions]
...
mercurial_keyring =

在安装说明表示这里。但是,出现以下错误:

*** failed to import extension mercurial_keyring: No module named mercurial_keyring

根据相同的安装说明,我尝试将mercurial直接指向该mercurial_keyring.py文件,该文件起作用了。

[extensions]
...
hgext.mercurial_keyring = /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/mercurial_keyring.py

事情似乎正在发展。

但是,当我尝试执行任何要求输入密码的命令时,都会被keyring例如 )保存hg pullhg push因此出现错误

abort: No module named keyring!

最令人困惑的部分是

import keyring

第28行中的mercurial_keyring.py内容已解决,没有任何问题。实际上,任何import keyring成功都在类和方法之外进行而在它们内部失败!

只是为了全面起见,我将尝试在尝试以下操作时在方法mercurial_keyring.py中的PasswordStore类中出现此错误get_http_password

return keyring.get_password(...)

有什么想法吗?

我感觉自己缺少明显的东西,但是我花了很多时间试图弄清楚这一点,到目前为止,Google并不是特别有用。任何输入将不胜感激。


问题答案:

很可能hg是使用系统python(2.6)而不是已安装的2.7的副本运行的。

尝试在2.6mercurial_keyringkeyring2.6下安装,然后查看是否可以按预期运行。



 类似资料:
  • 问题内容: 在最新的Java和Eclipse稳定发行版(Kempler)中,假设存在程序包和类名称,请输入以下代码并执行该代码: 这将打印值4。最初,我认为应该打印2,因为我认为即使没有break语句,每段代码仍保留在case语句中。现在,我认为问题在于如何编译。例如,我目前的信念是在内部使用布尔值来跟踪case语句是否等于该值。如果是,则布尔值为true,并且 所有case语句将被视为true,

  • 我有一个< code>npm run watch作业,它使用node-scss来监视scss文件并将它们编译成css文件。 我在Windows上使用PhpStom IDE,当我对scss文件进行更改时,文件观察者()似乎无法识别它们。然而,如果我在记事本中打开同一个scss文件,进行更改并保存,文件观察者()会识别这些更改并重新编译。 是否有人知道如何解决此问题,以便当我在PhpStom中更改sc

  • 因此,这是我第一次使用JBehave,我试图在项目中创建第一个JBehave,但目前似乎测试没有执行这些步骤。最后,测试表明所有测试用例都通过了,没有任何问题,但实际上它们根本没有被执行。我在每个步骤方法中都设置了断点,而且我的调试器根本不会阻止我,更不用说这些步骤当前抛出的异常了。 和测试执行器: 你知道有什么问题吗?

  • 我已经创建了一个构建。war文件的非常简单的Maven项目。Maven Version3.2.3,Java Version1.7.0_67。pom.xml文件就是这个要点。 如果我运行,那么项目构建良好。但是,如果首先下载所有具有和的依赖项,然后运行进行脱机构建,则会出现如下错误。 我从两种方式创建的。m2/repository文件夹不同,使用依赖插件创建的文件夹缺少许多文件,其中大多数与Plex

  • 问题内容: 我有一个包含以下内容的文件: 我有一个像这样的简单Python程序: 我得到了这个结果: 为什么没有“我们有比赛!” 被打印? 我错过了什么? 问题答案: 为什么没有“我们有比赛!” 被打印?我错过了什么? 如果您会注意到控制台上的输出,则您会因为第二个而得到 双倍 (换行),这是因为第二个是因为文件中的每一行都在末尾。您的文件如下所示: 基本上是:(假设您没有任何多余的空格,例如制表

  • 为什么无符号右移(逻辑右移)和有符号右移(算术右移)对负数产生相同的结果? Android Studio Logcat输出

  • 问题内容: 我做了一些辅助功能: 问题是我的所有文件都没有被压缩!文件大小相同,实际上,扩展名已更改为“ .zip”(在本例中为“ .xls”)。 我在winXP sp2上运行python 2.5。 问题答案: 这是因为要求您指定压缩方法。如果未指定,则假定压缩方法为,该方法仅存储文件而不压缩文件。您需要将方法指定为。您将需要为此安装模块( 通常 默认情况下已安装)。