标签: pysvn

为什么不能pip找到pysvn?

我正在开发一个用Python 2编写的项目,我正在将它升级到Python 3.到目前为止,我刚刚发现了一些很容易修复的语法错误.我所做的是在Python 3中创建了一个新项目,确保它有效,并将旧项目中的代码块复制到新项目中.

现在,我遇到了pysvn问题.最初,我收到了这个错误:

ImportError:没有名为'pysvn'的模块

此时,我尝试使用pip install pysvn,但没有用.我得到以下内容:

pip install pysvn

收集pysvn

找不到满足pysvn要求的版本(来自版本:)

找不到匹配的pysvn发行版

所以经过一些研究后,我去了pysvn 下载网站试过:

>pip install --index-url http://pysvn.tigris.org/project_downloads.html pysvn,这给了我这个错误:

收集pysvn

位于pysvn.tigris.org的存储库不是可信任或安全的主机,而是被忽略.如果此存储库可通过HTTPS使用,则建议使用HTTPS,否则您可以使用"--trusted-host pysvn.tigris.org"将此警告静音并允许它.

还有和我试过时一样的错误>pip install pysvn.

我的下一步是手动下载我需要的版本的.exe文件,我能够成功安装pysvn.我已经检查了site-packages目录,并且pysvn 确实存在,但是pip仍然无法告诉我任何有关它的信息:

>pip show pysvn

>
Run Code Online (Sandbox Code Playgroud)

当我为另一个安装的模块,例如selenium执行此操作时,我得到以下内容:

pip show selenium


元数据 - 版本:1.1

名称:硒

版本:2.49.2

简介:Selenium的Python绑定

主页:https://github.com/SeleniumHQ/selenium/

作者:UNKNOWN

作者电子邮件:未知

许可证:未知

位置:...\lib\site-packages

要求:

我能够验证pysvn的安装是否成功,因为我的项目现在运行而不是给我ImportError.

那么为什么pip不能给我成功安装的同一目录中的另一个模块的信息呢?

windows pip pysvn python-3.x

11
推荐指数
1
解决办法
1万
查看次数

Pysvn安装程序无法检测到Python安装

我在默认位置C:\ Python27中安装了Python 2.7.2.我从http://pysvn.tigris.org/project_downloads.html > Windows安装工具包下载了pysvn 2.7 .Pysvn Windows安装程序中止

pysvn需要安装Python 2.7.

退出安装

我已经尝试了两个安装程序文件py27-pysvn-svn1612-1.7.4-1321.exe和py27-pysvn-svn1615-1.7.5-1360.exe.它们都不起作用.

如何说服安装程序我安装了Python 2.7?安装程序如何确定是否安装了pysvn?

python windows-installer pysvn

9
推荐指数
1
解决办法
9871
查看次数

在virtualenv中安装pysvn

我可以使用二进制包在站点范围内安装pysvn.例如,在Ubuntu中:

$ sudo apt-get install python-svn
Run Code Online (Sandbox Code Playgroud)

或者,在Windows上,我可以使用.exe安装程序在站点范围内安装.

在virtualenv之外,我可以做到这一点

$ python -c "import pysvn; print 'ok'"
ok
Run Code Online (Sandbox Code Playgroud)

现在我制作一个virtualenv(我使用virtualenvwrapper包中的mkvirtualenv命令)

$ mkvirtualenv test1
Run Code Online (Sandbox Code Playgroud)

但由于virtualenv默认不导入全局网站包,我不能在这个virtualenv中使用pysvn.

(test1)$ python -c "import pysvn; print 'ok'"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named pysvn
Run Code Online (Sandbox Code Playgroud)

如何在不启用全局站点包的情况下访问virtualenv中的pysvn?

python virtualenv pysvn

8
推荐指数
1
解决办法
6415
查看次数

使用svn + ssh进行pysvn

我正在使用pysvn,我正在尝试找到一种合适的方法来处理只能通过svn + ssh访问的存储库.显然,SSH密钥使这一切变得异常简单,但我无法保证最终用户将使用SSH密钥.这也必须能够在没有用户交互的情况下运行,因为它将进行一些svn日志解析.

最大的问题是,使用svn + ssh会弹出一个交互式提示进行身份验证.显然我希望能够让pysvn自动使用一组给定的凭据登录,但是set_default_username和set_default_password在这方面对我没有任何帮助.如果我不能拥有它,我至少希望能够失败,并记录一条消息告诉用户设置SSH密钥.但是,set_interactive似乎与此无关,我仍然会提示输入client.log('svn + ssh:// path')的密码.

有关如何解决这个问题的任何想法?是否真的有可能在没有SSH密钥的情况下处理这个问题,因为SSH正在抛出提示?

python svn ssh pysvn

5
推荐指数
1
解决办法
1547
查看次数

如何使用PySVN捕获登录失败?

我是Python和PySVN的新手,我正在尝试使用pysvn导出我的SVN存储库.这是我的代码:

#set up svn login data  
def svn_credentials (realm, username, may_save):  
  return True, svn_login_name, svn_login_password, False

#establish connection  
svn_client = pysvn.Client ()  
svn_client.callback_get_login = svn_credentials

#export data  
svn_client.export('server-path-goes-here', 'client-path-goes-here', force=True)
Run Code Online (Sandbox Code Playgroud)

哪个工作正常,但如果密码错误或用户名未知,此代码就可以了.我相信它会在SVN端出现用户登录提示,但我不知道如何检查callback_get_login发生了什么.任何帮助将不胜感激.

python infinite-loop pysvn

5
推荐指数
1
解决办法
5224
查看次数

使用PYSVN获取SVN存储库的HEAD版本号

我正在使用pysvn来监视Subversion目录中的更改.这是我从修订版中获取信息的方式:

(...)
svn_root = "http://svn/"
client = pysvn.Client()
from_revision = pysvn.Revision(pysvn.opt_revision_kind.number, 1500)
to_revision = pysvn.Revision( pysvn.opt_revision_kind.head )

revisions = client.log(svn_root, to_revision, to_revision, discover_changed_paths=True)
Run Code Online (Sandbox Code Playgroud)

现在,我想从一个特定的修订版本什么变化不一样,在我的例子,但在过去5次修订中的变化(从head - 5head).我怎么能做到这一点?我如何获得头部修订的NUMBER?

我可以通过从Python调用Shell来实现.但我想使用pysvn有一种"Pythonic"方式.

python pysvn

5
推荐指数
2
解决办法
9163
查看次数

5
推荐指数
1
解决办法
3520
查看次数

pysvn client.log()返回空字典

我有以下脚本,我用来从svn获取日志消息

import pysvn
class  svncheck(): 
    def __init__(self, svn_root="http://10.11.25.3/svn/Moodle/modules", svn_user=None, svn_password=None):
        self.user = svn_user
        self.password = svn_password
        self.root = svn_root

    def diffrence(self): 
        client = pysvn.Client()
        client.commit_info_style = 1
        client.callback_notify = self.notify
        client.callback_get_login = self.credentials
        log  = client.log(
        self.root, 
        revision_start=pysvn.Revision( pysvn.opt_revision_kind.number, 0),
        revision_end=pysvn.Revision( pysvn.opt_revision_kind.number, 5829),
        discover_changed_paths=True,
        strict_node_history=True,
        limit=0,
        include_merged_revisions=False,
        )
        print log
    def notify( event_dict ):
        print event_dict
        return   

    def credentials(realm, username, may_save):
           return True, self.user, self.password, True



s = svncheck()
s.diffrence()
Run Code Online (Sandbox Code Playgroud)

当我运行此脚本时,它返回一个空字典对象 [<PysvnLog ''>, <PysvnLog ''>, <PysvnLog ''>,..

知道我在这里做错了什么吗?我正在使用pysvn版本1.7.2再次构建svn版本1.6.5为Nash欢呼

python pysvn

4
推荐指数
1
解决办法
5111
查看次数

pysvn.Client.callback_ssl_server_trust_prompt错误

嘿伙计们,我pysvn.Client.callback_ssl_server_trust_prompt required在尝试提交时遇到错误.我理解它与信任互联网验证有关.

这是文档,我只是不明白.

pysvn.Client.callback_ssl_server_trust_prompt

import pysvn

def ssl_server_trust_prompt( trust_dict ):
    return retcode, accepted_failures, save

client = pysvn.Client()
client.callback_ssl_server_trust_prompt = ssl_server_trust_prompt
Run Code Online (Sandbox Code Playgroud)

每次HTTPS服务器提供证书时都会调用callback_ssl_server_trust_prompt,而subversion不确定它是否应该被信任.调用callback_ssl_server_trust_prompt,其中包含有关trust dict中证书的信息.

failure - int - 失败的位掩码 - [这些位是什么意思?] hostname - string - 证书从finger_print呈现的主机名 - 字符串 - 证书指纹valid_from - 字符串 - 从此ISO8601日期有效valid_until - string - valid util这个ISO8601 date issuer_dname - stirng - 发布的dname领域 - 字符串 - 领域pysvn期望callback_ssl_server_trust_prompt返回三个值的元组(retcode,accepted_failures,save).

retcode - boolean,如果没有可用的用户名和密码,则为False.如果subversion使用用户名和密码,则为True.accepted_failures - int,允许接受的失败save - boolean,如果你想让subversion记住配置目录中的证书,则返回True.返回False以防止保存证书.

python pysvn

4
推荐指数
1
解决办法
4811
查看次数

rhel6上的pysvn-1.7.6,错误:不是URL,现有文件或需求规范:

我在RHEL 6上安装了Python 2.7.3,当我尝试安装pysvn-1.7.6时,出现了错误.我该怎么办?

/search/python/pysvn-1.7.6/Import/pycxx-6.2.4/CXX/Python2/Objects.hxx:2912: warning: deprecated conversion from string constant to 'char*'
Compile: pysvn_svnenv.cpp into pysvn_svnenv.o
Compile: pysvn_profile.cpp into pysvn_profile.o
Compile: /search/python/pysvn-1.7.6/Import/pycxx-6.2.4/Src/cxxsupport.cxx into cxxsupport.o
Compile: /search/python/pysvn-1.7.6/Import/pycxx-6.2.4/Src/cxx_extensions.cxx into cxx_extensions.o
Compile: /search/python/pysvn-1.7.6/Import/pycxx-6.2.4/Src/cxxextensions.c into cxxextensions.o
Compile: /search/python/pysvn-1.7.6/Import/pycxx-6.2.4/Src/IndirectPythonInterface.cxx into IndirectPythonInterface.o
Link pysvn/_pysvn_2_7.so
make: *** No rule to make target `egg'.  Stop.
error: Not a URL, existing file, or requirement spec: 'dist/pysvn-1.7.6-py2.7-linux-x86_64.egg'
Run Code Online (Sandbox Code Playgroud)

python pysvn review-board

4
推荐指数
1
解决办法
4404
查看次数