无论如何我可以在python中从在线SVN访问文件?

时间:2011-02-17 05:59:23

标签: python svn urllib sys.path

我制作了一个python模块文件并上传到SVN Repo(比如string_utl.py,它执行字符串相关的操作)。无论如何,我可以访问SVN的文件Direclty。虽然我从SVN本地检出文件到我的电脑,然后从那里访问它。但那不是重点。我正在考虑一个本地存储库,我的所有同事都可以访问和修改代码。 我虽然在sys.path列表中添加了Lsvn位置,但它没有用。

我是这样做的 sys.path.append(“http:// lsvn / svn / lsvn / QRM_Helper / Helpful_Script /”);

但没效果。

我尝试了另一种方式  了urllib.urlopen(SOME_URL) 因为我正在使用Python 3它说使用urllib2.urlopen()但在我的情况下它也没有用。它给出了以下错误:该模块不存在。

4 个答案:

答案 0 :(得分:2)

只需安装pysvn module,然后使用正常的SVN结帐,更新,提交等。

您无法直接访问SVN后端数据存储区,因此请不要尝试。

答案 1 :(得分:2)

如果您使用的是python3,则网址处理代码为urllib.request.urlopen(顺便说一句,它不应该说使用urllib2.urlopen)。 sys.path.append仅采用本地系统路径。它不能采取网址。您可以将模块签出到本地系统并指向该路径。 pysvn似乎是一种以编程方式使用python进行svn操作的方法,但是在检查代码之后,你应该通过本地文件系统路径直接引用代码,并将其添加到sys.path。

答案 2 :(得分:0)

pip install -e svn+http://lsvn/svn/lsvn/QRM_Helper/Helpful_Script/#egg=local-name

将创建一个结帐(进入local-name/)并在Python中安装链接,以便导入正常工作,svn update也可以正常工作 - 无需重新安装。 警告:不知道这是否适用于Windows。 哦,你需要一个setup.py文件才能工作。

这不会每次都拉模块;你可以使用pysvn或只运行svn update。 但如果您有多个依赖项,使用Pip安装它们将会保存您的理智:)。

答案 3 :(得分:0)

我得到了答案。我将使用Pysvn将repo签出到本地文件夹。我将把文件夹添加到sys.path列表中。使用这个我可以访问文件夹模块。 感谢大家帮助我

但我有一个小问题......我的办公室电脑没有管理员(我正在使用Windows)所以我在我的笔记本电脑中安装了pysvn并将我的笔记本电脑中的lib文件复制到我的办公电脑.. 虽然我可以在我的计算机中使用(Office comp)。但是当我访问Pysvn时,Python没有特定原因崩溃。复制粘贴是否是原因。