hyde: Hyde cannot install on Python 3

Build dependencies don’t install under Python 3.

I get this error when trying to install hyde:

error: invalid command 'bdist_egg'

/home/mauve/.virtualenvs/pythonjobs3/build/hyde/distribute-0.6.14-py3.4.egg
 Traceback (most recent call last):

File "/home/mauve/.virtualenvs/pythonjobs3/build/hyde/distribute_setup.py", line 143, in use_setuptools

    raise ImportError

ImportError

About this issue

  • Original URL
  • State: open
  • Created 9 years ago
  • Comments: 25 (15 by maintainers)

Commits related to this issue

Most upvoted comments

@ramanshsharma2806 I know it’s been almost a year since your comment, but for anyone else who finds this issue I have taken up a role as a maintainer on Hyde and will be actively working on a 1.0.0 branch to fix Python 3 support. To just get to the point of being able to use Hyde’s basic features the fix proposed in https://github.com/hyde/hyde/issues/326#issuecomment-596768726 should resolve outstanding issues for installation along with most of the basic commands, but more rigorous fixes will be coming in 1.0.0

@jonafato Currently using what pip installed.

(hyde) <host>:hyde <user>$ pip show hyde
---
Name: hyde
Version: 0.8.9
Location: /Users/<user>/Projects/hyde/lib/python3.4/site-packages
Requires: fswrap, commando, PyYAML, Markdown, MarkupSafe, Pygments, typogrify, smartypants, Jinja2

Can I just uninstall with pip and then… ? Reading… Pip docs - User Guide

Hope one of these options is what I’m looking for: Pip docs - Git

[-e] git+git://git.myproject.org/MyProject#egg=MyProject
[-e] git+https://git.myproject.org/MyProject#egg=MyProject
[-e] git+ssh://git.myproject.org/MyProject#egg=MyProject
-e git+git@git.myproject.org:MyProject#egg=MyProject

<username>$ pip install -e git+https://github.com/hyde/hyde.git#egg=hyde did the trick!

I’m new to this all, but just in case it helps anyone else. I got hyde working on python 3.5 by: cloning the repo, switching to branch v0.9.0, and open an anaconda3 cmd promt,
creating a conda env python=3.5 and activate , cd to my cloned directory above, and typing pip install -e . (now installed in “development mode”).

Works great! Thanks to all the great people putting there life-hours in to this, so we can all win. Best to you all!

@CrustyBarnacle are you using the master branch? Hyde currently supports Python 2 and Python 3 (see #307), so if something is not working in master, it’s a bug.

(Note: there has not been a release including these changes yet. I’ll try to make this happen in the next couple of days.)

I’ve made considerable progress toward a Python 3 version. I’m working on a work-in-progress branch that still needs work, but all but a couple of tests are passing. Other than Hyde’s source code, the following dependencies need Python 3 compatibility:

  • fswrap
  • commando
  • asciidocapi

AsciiDoc is a tricky one here. There has been considerable and ongoing discussion on the topic of Python 3 compatibility, and there’s certainly more work to be done on that front. Given the size and age of the project, it’s potentially out of the scope of this ticket. I don’t know for sure that this is a blocker given that it’s an optional template filter and isn’t part of Hyde’s core. i.e. if the only blocker ends up being AsciiDoc, which seems to be completely optional (please correct me if I’m wrong on this point) and requires other effort to use anyway, we may be able to move forward and note the caveat (that AsciiDoc support will not work under Python 3) in the documentation.

If others have interest in aiding this effort, any work on #277 would make the test-driven porting process more reliable. Additionally, if I’ve missed any requirements that need porting, or if there are any other questions / concerns / thoughts on this feature, please list them here.

Initially, once the port is ready, I’d like to release “experimental” support for running Hyde under Python 3. Once a few users in addition to myself have tested it, (hopefully not) uncovered any bugs, and are satisfied with the functionality under both versions, we can call the Python 3 support official, ideally in time for 1.0.0.

More soon…