【问题标题】:Is there anyway I can access File from Online SVN in python?无论如何我可以在 python 中从在线 SVN 访问文件吗?
【发布时间】:2011-02-17 05:59:23
【问题描述】:

我已经制作了一个 python 模块文件并上传到 SVN 存储库中(比如 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() 但在我的情况下它也不起作用。它给出了该模块不存在的以下错误。

【问题讨论】:

    标签: python svn urllib sys.path


    【解决方案1】:

    只需安装pysvn module,然后使用普通的 SVN 签出、更新、提交等。

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 谢谢。但似乎我对 urllib 模块有问题。 IT 说 urllib.request 模块丢失.. docs.python.org/library/urllib.html 我已经使用了这个链接。我错过了一些元素吗?文件“”,第 1 行,在 urllib.request.urlopen() AttributeError: 'module' object has no attribute 'request' 弹出以下错误..
      • stackoverflow.com/questions/600389/…thanx 无论如何都从这里得到了答案。代替导入 Import urllib.request 我只是导入 urllib thanx 以获得帮助.. 高度赞赏它。
      【解决方案3】:

      pipinstall -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 安装它们将节省您的理智:)。

      【讨论】:

        【解决方案4】:

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

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

        【讨论】:

          猜你喜欢
          • 2023-03-12
          • 1970-01-01
          • 2016-06-03
          • 1970-01-01
          • 1970-01-01
          • 2011-08-14
          • 1970-01-01
          • 2014-02-08
          • 2011-03-15
          相关资源
          最近更新 更多