You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@beam.apache.org by "Tomo Suzuki (Jira)" <ji...@apache.org> on 2019/11/22 02:39:00 UTC

[jira] [Comment Edited] (BEAM-8787) Python setup issues

    [ https://issues.apache.org/jira/browse/BEAM-8787?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16979785#comment-16979785 ] 

Tomo Suzuki edited comment on BEAM-8787 at 11/22/19 2:38 AM:
-------------------------------------------------------------

h1. Problem

The problem for my environment was that Python3.6 was missing required module {{distutils.sysconfig}} and the latest python3-disutils does not support Python3.6.

h1. Solution

Build Python from the source:
{noformat}
suztomo@suxtomo24:/tmp$ git clone --branch v3.6.8 https://github.com/python/cpython.git
...
suztomo@suxtomo24:/tmp$ cd cpython
suztomo@suxtomo24:/tmp/cpython$ git status
Not currently on any branch.
nothing to commit, working tree clean
suztomo@suxtomo24:/tmp/cpython$ git log -1
commit 3c6b436a57893dd1fae4e072768f41a199076252 (HEAD, tag: v3.6.8)
Author: Ned Deily <na...@python.org>
Date:   Sun Dec 23 16:37:14 2018 -0500

    3.6.8final
suztomo@suxtomo24:/tmp/cpython$ ./configure --prefix=$HOME/local # pick up your preference
...
suztomo@suxtomo24:/tmp/cpython$ make install
{noformat}
Add the directory to the path with "/bin" appended. In {{~/.bashrc}}:
{noformat}
export PATH=$HOME/local/bin:$PATH
{noformat}
Now disutils.sysconfig module is available for Python3.6:
{noformat}
suztomo@suxtomo24:/tmp/cpython$ python3.6
Python 3.6.8 (tags/v3.6.8:3c6b436a57, Nov 21 2019, 21:11:37) 
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from distutils import sysconfig
>>> 
{noformat}
 
Now {{:sdks:python:test-suites:tox:py35:setupVirtualenv}} succeeds

{noformat}
suztomo@suxtomo24:~/beam4$ ./gradlew -p sdks/python/test-suites/tox/py35 setupVirtualenv
...
> Task :sdks:python:test-suites:tox:py35:setupVirtualenv
...
BUILD SUCCESSFUL in 5s
{noformat}

Next step: {{:sdks:python:test-suites:tox:py36:testPy36Gcp}} fails.
https://gist.github.com/suztomo/ebfc110652b8ffaf7fede64276d7a053
 


was (Author: suztomo):
h1. Problem

The problem for my environment was Python3.6 was missing required module and the latest python3-disutils does not support Python3.6.

h1. Solution

Build Python from the source:
{noformat}
suztomo@suxtomo24:/tmp$ git clone --branch v3.6.8 https://github.com/python/cpython.git
...
suztomo@suxtomo24:/tmp$ cd cpython
suztomo@suxtomo24:/tmp/cpython$ git status
Not currently on any branch.
nothing to commit, working tree clean
suztomo@suxtomo24:/tmp/cpython$ git log -1
commit 3c6b436a57893dd1fae4e072768f41a199076252 (HEAD, tag: v3.6.8)
Author: Ned Deily <na...@python.org>
Date:   Sun Dec 23 16:37:14 2018 -0500

    3.6.8final
suztomo@suxtomo24:/tmp/cpython$ ./configure --prefix=$HOME/local # pick up your preference
...
suztomo@suxtomo24:/tmp/cpython$ make install
{noformat}
Add the directory to the path with "/bin" appended. In {{~/.bashrc}}:
{noformat}
export PATH=$HOME/local/bin:$PATH
{noformat}
Now disutils.sysconfig module is available for Python3.6:
{noformat}
suztomo@suxtomo24:/tmp/cpython$ python3.6
Python 3.6.8 (tags/v3.6.8:3c6b436a57, Nov 21 2019, 21:11:37) 
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from distutils import sysconfig
>>> 
{noformat}
 
Now {{:sdks:python:test-suites:tox:py35:setupVirtualenv}} succeeds

{noformat}
suztomo@suxtomo24:~/beam4$ ./gradlew -p sdks/python/test-suites/tox/py35 setupVirtualenv
...
> Task :sdks:python:test-suites:tox:py35:setupVirtualenv
...
BUILD SUCCESSFUL in 5s
{noformat}

Next step: {{:sdks:python:test-suites:tox:py36:testPy36Gcp}} fails.
https://gist.github.com/suztomo/ebfc110652b8ffaf7fede64276d7a053
 

> Python setup issues
> -------------------
>
>                 Key: BEAM-8787
>                 URL: https://issues.apache.org/jira/browse/BEAM-8787
>             Project: Beam
>          Issue Type: Bug
>          Components: build-system
>    Affects Versions: 2.16.0
>         Environment: debian x86 (gLinux)
>            Reporter: Elliotte Rusty Harold
>            Priority: Major
>
> This could be an issue with incomplete or inaccurate contributing docs. tldr; `./gradlew check` fails on Debian after initial checkout.
> The docs say that one should first run:
> sudo apt-get install \
>     openjdk-8-jdk \
>     python-setuptools \
>     python-pip \
>     virtualenv
> but even after running this pieces are missing. I'm still debugging exactly what's missing but the symptoms look like this:
> > Task :sdks:python:test-suites:tox:py35:setupVirtualenv FAILED
> The path python3.5 (from --python=python3.5) does not exist
> > Task :sdks:python:test-suites:tox:py36:setupVirtualenv FAILED
> [ant:fmpp] Traceback (most recent call last):
> [ant:fmpp]   File "/usr/lib/python3/dist-packages/virtualenv.py", line 25, in <module>
> [ant:fmpp]     import distutils.sysconfig
> [ant:fmpp] ModuleNotFoundError: No module named 'distutils.sysconfig'
> ...
> FAILURE: Build completed with 2 failures.
> 1: Task failed with an exception.
> -----------
> * What went wrong:
> Execution failed for task ':sdks:python:test-suites:tox:py35:setupVirtualenv'.
> > Process 'command 'virtualenv'' finished with non-zero exit value 3
> Indeed there is no Python 3.5 on this system:
> gnome-user-share                      python2.6
> gnome-vfs-2.0                         python2.7
> gnupg                                 python3
> gnupg2                                python3.6
> gold-ld                               python3.7
> goobuntu-config-tools                 python3.8
> But nowhere in the setup docs do we say that Python 3.5 is required to build this. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)