pip install django-graphos不兼容python 3

时间:2016-05-08 19:47:23

标签: django python-3.x graph pip osx-mavericks

我最近在github issues page for django-graphos上发布了以下问题,但我不认为它会定期维护,因此我不希望很快得到解决方案。我正在研究一个heroku / django构建,我正在使用OSX 10.9.5上的python 3.5在virtualenv中进行测试。我喜欢django-graphos的外观,因为它很轻且非独立,因此它似乎非常适合在Heroku上进行小规模数据库驱动的统计图表。当我试图从venv安装并让它失败时,我感到很沮丧。

错误如下:

(venv) $ > pip install django-graphos
Collecting django-graphos
  Using cached django-graphos-0.1.1.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/qt/s4gp855d38s6rrj34fdlmwk40000gn/T/pip-build-q69jbvga/django-graphos/setup.py", line 132, in <module>
        package_data=find_package_data("graphos", only_in_packages=False),
      File "/private/var/folders/qt/s4gp855d38s6rrj34fdlmwk40000gn/T/pip-build-q69jbvga/django-graphos/setup.py", line 106, in find_package_data
        print >> sys.stderr, (
    TypeError: unsupported operand type(s) for >>: 'builtin_function_or_method' and '_io.TextIOWrapper'

----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/qt/s4gp855d38s6rrj34fdlmwk40000gn/T/pip-build-10_yhb6j/django-graphos/

正如 @Tadhg McDonald-Jensen 指出的那样,这个错误源于一个python 2打印函数调用,令人讨厌的是,它有一个相当简单的建议修复proposed as a branch merge on github但是它还没有被接受成为主人。

更新

@Tadhg McDonald-Jensen提出的解决方案为我工作,也就是说我能够克隆项目,对有问题的print >> x调用进行必要的编辑并将分支拉到掌握。我的项目克隆包含pip install git+<source>工作所需的修改here。然而,正如@Evert指出的那样,pip install django-graphos-3也是一个解决方案,这可以解释为什么django-graphos已经休眠了六个月。我希望这能帮助别人,就像它帮助了我一样。

3 个答案:

答案 0 :(得分:4)

我们更新了setup.py以使其与Python 3兼容。还将其推送到pypi。现在 pip install django-graphos 应该可以使用python3。

https://pypi.python.org/pypi/django-graphos/0.1.2

答案 1 :(得分:3)

我使用a-z搜索pip,然后弹出以下包:

  

django-graphos-3(0.1.1) - Django应用程序提供与JS 3不同的JS无关的方法

我没试过,但你可能用

来解决你的问题
django-graphos

请注意,这似乎只是一个带有一些Python 3修复的分支,仅此而已。就像原始包一样,这里的开发已经停止了。 实际的Python 3更新并不像您链接的PR那样完整,因为它们不包含演示项目,但这不应该妨碍安装。修正案基本上是由Tadhg的答案给出的。

答案 2 :(得分:2)

请注意,不再需要此手动编辑,只需using pip3 install django-graphos should work

不幸的是,似乎库(在此帖子的原始时间)与vs3兼容不太合适,您可以从github下载源代码,对setup.py进行以下更改:

line 83-85
-    print >> sys.stderr, (
-            "Directory %s ignored by pattern %s"
-            % (fn, pattern))
+    print("Directory %s ignored by pattern %s" % (fn, pattern),
+          file = sys.stderr)

line 106-108
-    print >> sys.stderr, (
-        "File %s ignored by pattern %s"
-        % (fn, pattern))
+    print("File %s ignored by pattern %s" % (fn, pattern),
+          file = sys.stderr)

然后在您的终端中,您可以使用python setup.py install获得与使用pip相同的结果。