Menu

#32 mingw python can not run in interactive mode

1.0
closed
Alexx83
None
2014-12-02
2014-04-11
LiTuX
No

I found this issue months ago (again, sorry for late). I've installed msys-python2, msys-python3, mingw-x86_64-python2, mingw-x86_64-python3. Some of them are installed because of dependency. This days, I mainly works with mingw-x86_64-python2 (Because msys version do not have a pip package :P).

At first, none of those python works correctly. For the msys version, run python/python2/python2.7/python3/python3.3/python3.3m will back to bash without any error message (This issue does not exist any more in the up-to-date version).

But for the mingw version, issue is still there. Type python(2 or 3) in bash or cmd then enter, python displays its version information then the prompt >>>, then quit without error. Running python with - got the same result. These days I used the special file in windows for an interactive python: python con as a workaround.

Related

Tickets: #32

Discussion

  • Alexx83

    Alexx83 - 2014-04-11

    This issue is related to ncurses. We disscuss with ncurses developers about fixing it. As workaround we can rebuild python without readline/ncurses

     
    • Ray Donnelly

      Ray Donnelly - 2014-04-11

      I hate to admit that this is a good idea for now.
      On Apr 11, 2014 8:38 AM, "Alexx83" lexx83@users.sf.net wrote:

      This issue is related to ncurses. We disscuss with ncurses developers
      about fixing it. As workaround we can rebuild python without
      readline/ncurses


      Status: open
      Milestone: 1.0
      Created: Fri Apr 11, 2014 07:32 AM UTC by LiTuX
      Last Updated: Fri Apr 11, 2014 07:32 AM UTC
      Owner: nobody

      I found this issue months ago (again, sorry for late). I've installed
      msys-python2, msys-python3, mingw-x86_64-python2, mingw-x86_64-python3.
      Some of them are installed because of dependency. This days, I mainly works
      with mingw-x86_64-python2 (Because msys version do not have a pip package
      :P).

      At first, none of those python works correctly. For the msys version, run
      python/python2/python2.7/python3/python3.3/python3.3m will back to bash
      without any error message (This issue does not exist any more in the
      up-to-date version).

      But for the mingw version, issue is still there. Type python(2 or 3) in
      bash or cmd then enter, python displays its version information then the
      prompt >>>, then quit without error. Running python with - got the same
      result. These days I used the special file in windows for an interactive
      python: python con as a workaround.


      Sent from sourceforge.net because you indicated interest in
      https://sourceforge.net/p/msys2/tickets/32/

      To unsubscribe from further messages, please visit
      https://sourceforge.net/auth/subscriptions/

       

      Related

      Tickets: #32

  • psxxx

    psxxx - 2014-04-16

    Hello!
    I wrote using the google translation this article(- -)
    I'm sorry if there is inadequate representation....

    You can type with python -i, and can be avoided by using the winpty this problem.
    winpty will help interactively most applications.

    https://github.com/rprichard/winpty/

    X64bit does not exist unfortunately, you must build it yourself.
    And I have prepared a set of patches for building winpty here.
    Please working in msys2-dev on always.


    configure
    fix
    i686-pc-mingw32-g++ -> =x86_64-pc-mingw32-g++


    main.cc
    add to 220 line

    extern "C" int
    cygwin_conv_to_win32_path (const char path, char win32_path)
    {
    return cygwin_conv_path (CCP_POSIX_TO_WIN_A | CCP_RELATIVE, path, win32_path,
    MAX_PATH);
    }


    However, it has confirmed the path in the "/usr/bin/xx" in msys,
    but does not recognize If you do not specify an absolute path in msys2.
    Fix it for me might be bad.

    example:

    command input
    console c:/msys64/bin/python
    ^
    input full_path

    registration "$HOME/.bashrc"
    alias python='console c:/msys64/bin/python'

     

    Last edit: psxxx 2014-04-16
  • owlcn

    owlcn - 2014-04-18

    When I build it, I get error message:
    $ ./configure
    uname -s identifies a MSYS environment.
    Error: could not find Cygwin/MSYS G++ compiler. One of these should be in your PATH:
    * i686-pc-msys-g++

    I have installed package "mingw32/mingw-w64-i686-gcc 4.8.2-7", should i install package "msys/gcc 4.8.2-2 (msys2-devel)"?

    What's the different between mingw32 gcc and msys gcc?

     

    Last edit: owlcn 2014-04-18
  • Alexx83

    Alexx83 - 2014-04-18

    First, why you write it in issue about Python?

    Second, to use appropriate mingw compiler you need start MSYS2 from mingw32_shell.bat or mingw64_shell.bat. In your case you need use mingw32_shell.bat

     
  • owlcn

    owlcn - 2014-04-18

    The same issue when i run mingw-w64-i686-lua, I must input lua -i to enter interactive mode.

    I start MSYS2 from mingw32_shell.bat.

     
  • Alexx83

    Alexx83 - 2014-04-18

    ncurses is still broken...

     
    • owlcn

      owlcn - 2014-04-18

      thank you~
      I want to build winpty to have a test, but i get the error message, what's wrong
      Should I install msys gcc?

       
  • Alexx83

    Alexx83 - 2014-04-18

    What error?

     
  • owlcn

    owlcn - 2014-04-18

    I get error message:
    $ ./configure
    uname -s identifies a MSYS environment.
    Error: could not find Cygwin/MSYS G++ compiler. One of these should be in your PATH:
    * i686-pc-msys-g++

     
  • Alexx83

    Alexx83 - 2014-04-18

    ./configure --build=i686-w64-mingw32 --host=i686-w64-mingw32

     
    • Ray Donnelly

      Ray Donnelly - 2014-04-18

      But you should use the msys2 pacman build system. Then it is just
      makepkg-mingw from the right folder.
      On Apr 18, 2014 5:06 PM, "Alexx83" lexx83@users.sf.net wrote:

      ./configure --build=i686-w64-mingw32 --host=i686-w64-mingw32

      Status: open
      Milestone: 1.0
      Created: Fri Apr 11, 2014 07:32 AM UTC by LiTuX
      Last Updated: Fri Apr 18, 2014 03:14 PM UTC
      Owner: nobody

      I found this issue months ago (again, sorry for late). I've installed
      msys-python2, msys-python3, mingw-x86_64-python2, mingw-x86_64-python3.
      Some of them are installed because of dependency. This days, I mainly works
      with mingw-x86_64-python2 (Because msys version do not have a pip package
      :P).

      At first, none of those python works correctly. For the msys version, run
      python/python2/python2.7/python3/python3.3/python3.3m will back to bash
      without any error message (This issue does not exist any more in the
      up-to-date version).

      But for the mingw version, issue is still there. Type python(2 or 3) in
      bash or cmd then enter, python displays its version information then the
      prompt >>>, then quit without error. Running python with - got the same
      result. These days I used the special file in windows for an interactive
      python: python con as a workaround.


      Sent from sourceforge.net because you indicated interest in
      https://sourceforge.net/p/msys2/tickets/32/

      To unsubscribe from further messages, please visit
      https://sourceforge.net/auth/subscriptions/

       

      Related

      Tickets: #32

  • psxxx

    psxxx - 2014-04-18

    I'm sorry, owlcn's,

    ./configure --build=i686-w64-mingw32 --host=i686-w64-mingw32

    If you can not build this command,

    home->developers->x32(or x64)-msys2-develop-20131022.tar.xz

    Please download and uncompress it.
    It should be successful if build anything without changing the setting of msys side.
    The bottom line, it is to use the g++ of msys/bin.
    However, please do not forget to change the description of the "Configure".


    src/configure

    line 40
    - echo "Error: could not find $DESC. One of these should be in your PATH:"
    +# echo "Error: could not find $DESC. One of these should be in your PATH:"

    line 62-63, case 64bit(Do not change the time of 32bit)
    - UNIX_GPP=i686-pc-mingw32-g++
    - MINGW_GPP=i686-pc-msys-g++
    + UNIX_GPP=x86_64-pc-mingw32-g++
    + MINGW_GPP=x86_64-pc-msys-g++


    Build as you will succeed if. good luck!

    Alexx83's, I'm sorry to bother.
    I think the combination of ncurses and readline is, a bad combination in mingw.
    It will be a little better if PDCurses, but it does not provide a complete operation.
    fix for the win32 has entered in the ncurses-5.9-20140412.patch, but it was still bad after all.

     

    Last edit: psxxx 2014-04-18
  • Ray Donnelly

    Ray Donnelly - 2014-04-18

    Hi LiTuX, psxxx, owlcn,

    psxxx:
    The old MSYS2 developer package tarball you used is now redundant since we now use Pacman to manage packages. Alexey, would it be ok to remove these so no one tries to use them in future?

    everyone:
    You want Python/lua/whatever without ncurses support. We agree that ncurses is currently broken and do apologise for the lack of interactive support for these tools under MSYS2. Rest assured, a fix is being worked on by someone who knows ncurses and Windows console programming very well.

    In the meantime, here are the instructions to take you from not having MSYS2 on your computer to building your own Python2/3 package, and then finally installing it, so that you can try to remove or fix ncurses support, or attempt to add support for an alternative such as PDCurses.

    Download and extract http://garr.dl.sourceforge.net/project/msys2/Base/x86_64/msys2-base-x86_64-20140216.tar.xz using 7-zip. For the purposes of this, I'm extracting it to C:\temp so change these instructions to taste.

    From Windows Explorer, go to C:\temp\msys64 and run msys2_shell.bat

    From the bash prompt, type "exit", then re-run msys2_shell.bat

    From the bash prompt, type "pacman -Syu". It should ask ":: Proceed with installation? [Y/n]", enter Y/y or press the Return Key.

    .. wait for the base packages to get updated to the latest versions. You will see some scary looking messages, don't worry. Once it's finished, type "exit" again.

    Run autorebase.bat, then re-run msys2_shell.bat.

    Install your base development tools.

    From bash prompt, run "pacman -S autoconf make automake-wrapper patch git gettext". Enter "all" or press Return Key. Enter Y/y or press the Return Key. There's a meta-package called base-devel that you could install instead but that will install more than you strictly need ("pacman -S base-devel"). Exit bash again with "exit", then re-run autorebase.bat (any time you install new MSYS2 packages - as opposed to MinGW-w64 ones you need to repeat this process to make sure the MSYS2 DLLs are all shuffled to co-exist happily).

    To install the x86_64 toolchain and Python dependencies, run:
    "pacman -S mingw-w64-x86_64-toolchain mingw-w64-x86_64-xz mingw-w64-x86_64-pkg-config"

    To install the i686 toolchain and Python dependencies, run:
    "pacman -S mingw-w64-i686-toolchain mingw-w64-i686-xz mingw-w64-i686-pkg-config"

    To get the latest version of the recipes for all the MinGW-w64 packages run:
    "git clone https://github.com/Alexpux/MINGW-packages"

    pushd MINGW-packages/mingw-w64-python3
    .. At this point you would change PKGBUILD and make patches (and add them to PKBUILD) if necessary.
    makepkg-mingw -L --nocheck
    .. To install the package(s):
    pacman -U mingw-w64-*.xz
    popd

    pushd MINGW-packages/mingw-w64-python2
    .. At this point you would change PKGBUILD .. etc .. etc
    makepkg-mingw -L --nocheck
    .. To install the package(s):
    pacman -U mingw-w64-*.xz
    popd

     
    • Ray Donnelly

      Ray Donnelly - 2014-04-19

      One thing I should add, if you change patches or add some then you
      need to add any new ones to the "source" array in PKGBUILD. In either
      case, you then need to regenerate the embedded checksums in there. To
      do this run "makepkg-g" and copy/paste the new array into PKGBUILD

      On Fri, Apr 18, 2014 at 10:22 PM, Ray Donnelly
      mingwandroid@users.sf.net wrote:

      Hi LiTuX, psxxx, owlcn,

      psxxx:
      The old MSYS2 developer package tarball you used is now redundant since we
      now use Pacman to manage packages. Alexey, would it be ok to remove these so
      no one tries to use them in future?

      everyone:
      You want Python/lua/whatever without ncurses support. We agree that ncurses
      is currently broken and do apologise for the lack of interactive support for
      these tools under MSYS2. Rest assured, a fix is being worked on by someone
      who knows ncurses and Windows console programming very well.

      In the meantime, here are the instructions to take you from not having MSYS2
      on your computer to building your own Python2/3 package, and then finally
      installing it, so that you can try to remove or fix ncurses support, or
      attempt to add support for an alternative such as PDCurses.

      Download and extract
      http://garr.dl.sourceforge.net/project/msys2/Base/x86_64/msys2-base-x86_64-20140216.tar.xz
      using 7-zip. For the purposes of this, I'm extracting it to C:\temp so
      change these instructions to taste.

      From Windows Explorer, go to C:\temp\msys64 and run msys2_shell.bat

      From the bash prompt, type "exit", then re-run msys2_shell.bat

      From the bash prompt, type "pacman -Syu". It should ask ":: Proceed with
      installation? [Y/n]", enter Y/y or press the Return Key.

      .. wait for the base packages to get updated to the latest versions. You
      will see some scary looking messages, don't worry. Once it's finished, type
      "exit" again.

      Run autorebase.bat, then re-run msys2_shell.bat.

      Install your base development tools.

      From bash prompt, run "pacman -S autoconf make automake-wrapper patch git
      gettext". Enter "all" or press Return Key. Enter Y/y or press the Return
      Key. There's a meta-package called base-devel that you could install instead
      but that will install more than you strictly need ("pacman -S base-devel").
      Exit bash again with "exit", then re-run autorebase.bat (any time you
      install new MSYS2 packages - as opposed to MinGW-w64 ones you need to repeat
      this process to make sure the MSYS2 DLLs are all shuffled to co-exist
      happily).

      To install the x86_64 toolchain and Python dependencies, run:
      "pacman -S mingw-w64-x86_64-toolchain mingw-w64-x86_64-xz
      mingw-w64-x86_64-pkg-config"

      To install the i686 toolchain and Python dependencies, run:
      "pacman -S mingw-w64-i686-toolchain mingw-w64-i686-xz
      mingw-w64-i686-pkg-config"

      To get the latest version of the recipes for all the MinGW-w64 packages run:
      "git clone https://github.com/Alexpux/MINGW-packages"

      pushd MINGW-packages/mingw-w64-python3
      .. At this point you would change PKGBUILD and make patches (and add them to
      PKBUILD) if necessary.
      makepkg-mingw -L --nocheck
      .. To install the package(s):
      pacman -U mingw-w64-*.xz
      popd

      pushd MINGW-packages/mingw-w64-python2
      .. At this point you would change PKGBUILD .. etc .. etc
      makepkg-mingw -L --nocheck
      .. To install the package(s):
      pacman -U mingw-w64-*.xz
      popd


      [tickets:#32] mingw python can not run in interactive mode

      Status: open
      Milestone: 1.0
      Created: Fri Apr 11, 2014 07:32 AM UTC by LiTuX
      Last Updated: Fri Apr 18, 2014 07:58 PM UTC
      Owner: nobody

      I found this issue months ago (again, sorry for late). I've installed
      msys-python2, msys-python3, mingw-x86_64-python2, mingw-x86_64-python3. Some
      of them are installed because of dependency. This days, I mainly works with
      mingw-x86_64-python2 (Because msys version do not have a pip package :P).

      At first, none of those python works correctly. For the msys version, run
      python/python2/python2.7/python3/python3.3/python3.3m will back to bash
      without any error message (This issue does not exist any more in the
      up-to-date version).

      But for the mingw version, issue is still there. Type python(2 or 3) in bash
      or cmd then enter, python displays its version information then the prompt

      , then quit without error. Running python with - got the same result.
      These days I used the special file in windows for an interactive python:
      python con as a workaround.


      Sent from sourceforge.net because you indicated interest in
      https://sourceforge.net/p/msys2/tickets/32/

      To unsubscribe from further messages, please visit
      https://sourceforge.net/auth/subscriptions/

       

      Related

      Tickets: #32

      • Ray Donnelly

        Ray Donnelly - 2014-04-19

        Urgh, "makepkg -g" of course.

        On Sat, Apr 19, 2014 at 10:57 AM, Ray Donnelly mingw.android@gmail.com wrote:

        One thing I should add, if you change patches or add some then you
        need to add any new ones to the "source" array in PKGBUILD. In either
        case, you then need to regenerate the embedded checksums in there. To
        do this run "makepkg-g" and copy/paste the new array into PKGBUILD

        On Fri, Apr 18, 2014 at 10:22 PM, Ray Donnelly
        mingwandroid@users.sf.net wrote:

        Hi LiTuX, psxxx, owlcn,

        psxxx:
        The old MSYS2 developer package tarball you used is now redundant since we
        now use Pacman to manage packages. Alexey, would it be ok to remove these so
        no one tries to use them in future?

        everyone:
        You want Python/lua/whatever without ncurses support. We agree that ncurses
        is currently broken and do apologise for the lack of interactive support for
        these tools under MSYS2. Rest assured, a fix is being worked on by someone
        who knows ncurses and Windows console programming very well.

        In the meantime, here are the instructions to take you from not having MSYS2
        on your computer to building your own Python2/3 package, and then finally
        installing it, so that you can try to remove or fix ncurses support, or
        attempt to add support for an alternative such as PDCurses.

        Download and extract
        http://garr.dl.sourceforge.net/project/msys2/Base/x86_64/msys2-base-x86_64-20140216.tar.xz
        using 7-zip. For the purposes of this, I'm extracting it to C:\temp so
        change these instructions to taste.

        From Windows Explorer, go to C:\temp\msys64 and run msys2_shell.bat

        From the bash prompt, type "exit", then re-run msys2_shell.bat

        From the bash prompt, type "pacman -Syu". It should ask ":: Proceed with
        installation? [Y/n]", enter Y/y or press the Return Key.

        .. wait for the base packages to get updated to the latest versions. You
        will see some scary looking messages, don't worry. Once it's finished, type
        "exit" again.

        Run autorebase.bat, then re-run msys2_shell.bat.

        Install your base development tools.

        From bash prompt, run "pacman -S autoconf make automake-wrapper patch git
        gettext". Enter "all" or press Return Key. Enter Y/y or press the Return
        Key. There's a meta-package called base-devel that you could install instead
        but that will install more than you strictly need ("pacman -S base-devel").
        Exit bash again with "exit", then re-run autorebase.bat (any time you
        install new MSYS2 packages - as opposed to MinGW-w64 ones you need to repeat
        this process to make sure the MSYS2 DLLs are all shuffled to co-exist
        happily).

        To install the x86_64 toolchain and Python dependencies, run:
        "pacman -S mingw-w64-x86_64-toolchain mingw-w64-x86_64-xz
        mingw-w64-x86_64-pkg-config"

        To install the i686 toolchain and Python dependencies, run:
        "pacman -S mingw-w64-i686-toolchain mingw-w64-i686-xz
        mingw-w64-i686-pkg-config"

        To get the latest version of the recipes for all the MinGW-w64 packages run:
        "git clone https://github.com/Alexpux/MINGW-packages"

        pushd MINGW-packages/mingw-w64-python3
        .. At this point you would change PKGBUILD and make patches (and add them to
        PKBUILD) if necessary.
        makepkg-mingw -L --nocheck
        .. To install the package(s):
        pacman -U mingw-w64-*.xz
        popd

        pushd MINGW-packages/mingw-w64-python2
        .. At this point you would change PKGBUILD .. etc .. etc
        makepkg-mingw -L --nocheck
        .. To install the package(s):
        pacman -U mingw-w64-*.xz
        popd


        [tickets:#32] mingw python can not run in interactive mode

        Status: open
        Milestone: 1.0
        Created: Fri Apr 11, 2014 07:32 AM UTC by LiTuX
        Last Updated: Fri Apr 18, 2014 07:58 PM UTC
        Owner: nobody

        I found this issue months ago (again, sorry for late). I've installed
        msys-python2, msys-python3, mingw-x86_64-python2, mingw-x86_64-python3. Some
        of them are installed because of dependency. This days, I mainly works with
        mingw-x86_64-python2 (Because msys version do not have a pip package :P).

        At first, none of those python works correctly. For the msys version, run
        python/python2/python2.7/python3/python3.3/python3.3m will back to bash
        without any error message (This issue does not exist any more in the
        up-to-date version).

        But for the mingw version, issue is still there. Type python(2 or 3) in bash
        or cmd then enter, python displays its version information then the prompt

        , then quit without error. Running python with - got the same result.
        These days I used the special file in windows for an interactive python:
        python con as a workaround.


        Sent from sourceforge.net because you indicated interest in
        https://sourceforge.net/p/msys2/tickets/32/

        To unsubscribe from further messages, please visit
        https://sourceforge.net/auth/subscriptions/

         

        Related

        Tickets: #32

  • psxxx

    psxxx - 2014-04-20

    Hi, Ray Donnelly

    This msys2-dev environment allow us to build the tool was not possible in mingw-w64 + msys.
    It is, for example, include / cygwin, include / sys / socket.h, etc ...
    example:whois

    It must be better is going to distinguish depending on the situation the neighborhood.
    In other words I see it this way.
    Was given the material by msys2-dev team we. It is our job or how to utilize them.
    Good luck and thanks to this project!
    I thank you for reading it through.

     

    Last edit: psxxx 2014-04-20
  • Alexx83

    Alexx83 - 2014-10-09

    Python interactive mode partially solved by readline-6.2.005-3 package. Try it

     

    Last edit: Alexx83 2014-12-02
  • Alexx83

    Alexx83 - 2014-12-02
    • status: open --> closed
    • assigned_to: Alexx83