taishi-i/nagisa

Wheel request for Python 3.8

himkt opened this issue · 10 comments

himkt commented

Hello, thank you for maintaining the awesome toolkit!

I think we cannot install nagisa by pip install nagisa on Python>=3.8.
This is because:

  • (a) dynet uses the old URL for eigen (clab/dynet#1616). Some commits (e.g. clab/dynet@b800ed0) were pushed for this problem but no-release including them is available.
  • (b) nagisa doesn't provide wheel for the latest versions of Python. If someone wants to install nagisa on Python<=3.7, it works well as wheels are uploaded to https://pypi.org/project/nagisa/#files. However, for Python>=3.8, pip will install nagisa from the source. This may not work well because of the problem (a).

The full output of pip install nagisa on Python3.8: https://gist.github.com/himkt/1bc75b83f1735535c4df0b952f352bf6

Hello @himkt. Thank you for your contact. Thank you again for incorporating this tool into konoha.

I guess the fundamental problem is that the DyNet does not provide wheels for Python 3.8 in PyPI. Even if nagisa provides wheels for 3.8, we can't install it unless DyNet provides wheels for 3.8.

To resolve this issue, we need to ask the developers of DyNet to provide us with wheels for 3.8+. So, I'll ask the developers if they are planning to provide wheels for 3.8+.

I created clab/dynet#1618 (comment) in DyNet repository.
Thank you for the opportunity to do this. Let's wait for their reply.

himkt commented

Even if nagisa provides wheels for 3.8, we can't install it unless DyNet provides wheels for 3.8.

I'm really sorry that I didn't understand the situation correctly. It makes sense.

I created clab/dynet#1618 (comment) in DyNet repository.

Thank you very much! If nagisa also works on the latest version of Python, it remains a nice choice for starting NLP, I think.
I'll also be checking the issue. Thanks again for the very quick response.

Hi @himkt ! I created DyNet38 to provide DyNet's wheels for Python 3.8+. I have released nagisa's wheels for Python 3.8+, so we can already use nagisa in Python 3.8+.

def switch_install_requires():

However, it is only for the Linux environment. Let me know if you want to use it on maxOS or windows. It may take some time, but I will prepare the wheels.

OS\Python version 2.7 3.5 3.6 3.7 3.8 3.9
Linux
macOS × ×
Windows × ×
himkt commented

Hi @taishi-i, thank you so much for your effort!!
I usually use nagisa on Ubuntu so it really helps me. 👍

I'm using nagisa on Mac to build a classifier - is there a timeline on when will I be able to use nagisa with 3.8?

Hi @dj-sorry. Thank you for using naigsa. Sorry, I don't have a specific timeline at this point. The DyNet developer team is planning to support for building Python 3.8 wheels clab/dynet#1618 (comment). After that, I will provide Python 3.8 wheels for macOS. Please wait for a few weeks. Thank you.

himkt commented

Thank you @taishi-i for letting us know about the release plan of dynet.
I'm not sure whether I should close this issue, as this is dynet side problem (but someone using nagisa may encounter the problem ad this issue could be helpful for understanding the current situation).

Do you think we can close this issue or should leave it as is until a dynet support is available?

Thank you @taishi-i for creating a good product 'nagisa'.
And thank you @himkt for your good comments and some advices
I think that many people want to know about supporting status for Python 3.8, and I want to know that too.
Original Dynet committer has said he had supported it for Python 3.8.

himkt commented

Original Dynet committer has said he had supported it for Python 3.8.

Thank you for letting us know. 😄
In my environment (Python3.8.5), I could build dynet v2.1.2!