Giter Site home page Giter Site logo

Python 2.* Compatibility about pweave HOT 9 OPEN

mpastell avatar mpastell commented on May 25, 2024
Python 2.* Compatibility

from pweave.

Comments (9)

mpastell avatar mpastell commented on May 25, 2024 2

I have three reasons for wanting to drop Python 2:

  • The project is now tightly coupled with IPython and new versions of IPython are Python 3 only: http://ipython.readthedocs.io/en/stable/whatsnew/version6.html
  • Not supporting Python 2 means I can focus on new features, because I only need to test on one version
  • I haven't used Python 2 during the last 2 years and I'm very used to coding using only Python 3

So personally I find this a good time to drop it, if it would be included in the release it means I feel the need to support it. Python 2 users can still use new version of Pweave with Python 2 kernel.

See also: http://www.python3statement.org/

from pweave.

mpastell avatar mpastell commented on May 25, 2024

Current master is Python 3 only and so will be the next 0.3 release. I haven't updated the setup.py yet.

You can still run documents with Python 2 code with the --kernel option.

from pweave.

abukaj avatar abukaj commented on May 25, 2024

I started working on a generic branch (both Python 2 and 3 compatible).

When run in Python 2.7 environment, it switches to Python 2 kernel.

from pweave.

brandonwillard avatar brandonwillard commented on May 25, 2024

This version compatibility question was exclusively in reference to the source/development version of Python, which has already been addressed.

from pweave.

abukaj avatar abukaj commented on May 25, 2024

@mpastell Just crossed my mind: have you definitively decided to abandon support for Python 2, or is this still possible in the project to support it?

I am thinking either about making the code P2/3 compatible or keeping P2 branch in sync with master.

from pweave.

abukaj avatar abukaj commented on May 25, 2024

I see. My approach is slightly different - I try to keep my code both P2/3 compatible, so I can maintain the support with minimal effort.

The only drawback I can see of abandoning Python 2 is referencing the used Pweave version pweave.__version__. I can see two solutions to fix that:

  • either inject __pweave_version__ variable into the global namespace of the kernel before weaving,
  • or define a tag to be substituted with version string when parsing the source file.
    Personally I am for the former option.

from pweave.

JamesLarkinWhite avatar JamesLarkinWhite commented on May 25, 2024

Dear all... i just installed Peweave only to realize that it doesn´t support python 2. There is a comment here that i can change the kernel settings but i have no clue what this means. Would someone be willing to guide me? Thank you in advance

from pweave.

JamesLarkinWhite avatar JamesLarkinWhite commented on May 25, 2024

IF i try to trun one of the test documents like:
pweave -f md2html --kernel python2 FIR_designp.pmd
or
pweave -f md2html -k python2 FIR_designp.pmd

I still get this error:

Traceback (most recent call last):
File "C:\Program Files (x86)\Python27\Lib\runpy.py", line 162, in run_module_as_main
"main", fname, loader, pkg_name)
File "C:\Program Files (x86)\Python27\Lib\runpy.py", line 72, in run_code
exec code in run_globals
File "C:\Program Files (x86)\Python27\Scripts\pweave.exe_main
.py", line 5, in
File "c:\program files (x86)\python27\lib\site-packages\pweave_init
.py", line 6, in
from . import readers
File "c:\program files (x86)\python27\lib\site-packages\pweave\readers.py", line 8, in
from urllib import request, parse
ImportError: cannot import name request

I would really appreciate any help you are willing to offer.
At the moment i can not install python3 on this mashine

from pweave.

piccolbo avatar piccolbo commented on May 25, 2024

Python 2 will be a dead language in two years' time. The dependencies like ipython going away it the other nail in the coffin. I think @mpastell made the right call when he closed this issue.

from pweave.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.