我最近在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
已经休眠了六个月。我希望这能帮助别人,就像它帮助了我一样。
答案 0 :(得分:4)
我们更新了setup.py以使其与Python 3兼容。还将其推送到pypi。现在 pip install django-graphos 应该可以使用python3。
答案 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相同的结果。