JuliaPy / JuliaPy/PyCall.jl

Can't build PyCall

Abierto
#704 1 comentario 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Julia
Estrellas
1.5k
Forks
186
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

```
Installed PyCall ─ v1.91.2
Updating `~/.julia/environments/v1.1/Project.toml`
[438e738f] + PyCall v1.91.2
Updating `~/.julia/environments/v1.1/Manifest.toml`
[438e738f] + PyCall v1.91.2
Building PyCall → `~/.julia/packages/PyCall/ttONZ/deps/build.log`
┌ Error: Error building `PyCall`:
│ % Total % Received % Xferd Average Speed Time Time Time Current
│ Dload Upload Total Spent Left Speed
100 71.7M 100 71.7M 0 0 75.2M 0 --:--:-- --:--:-- --:--:-- 75.1M
│ PREFIX=/root/.julia/conda/3
│ Unpacking payload ...
Collecting package metadata (current_repodata.json): ...working... done
│ Solving environment: ...working... done

│ ## Package Plan ##

│ environment location: /root/.julia/conda/3

│ added / updated specs:
│ - _libgcc_mutex==0.1=main
│ - asn1crypto==0.24.0=py37_0
│ - bzip2==1.0.8=h7b6447c_0
│ - ca-certificates==2019.5.15=0
│ - certifi==2019.6.16=py37_0
│ - cffi==1.12.3=py37h2e261b9_0
│ - chardet==3.0.4=py37_1
│ - conda-package-handling==1.3.11=py37_0
│ - conda==4.7.10=py37_0
│ - cryptography==2.7=py37h1ba5d50_0
│ - idna==2.8=py37_0
│ - libarchive==3.3.3=h5d8350f_5
│ - libedit==3.1.20181209=hc058e9b_0
│ - libffi==3.2.1=hd88cf55_4
│ - libgcc-ng==9.1.0=hdf63c60_0
│ - libstdcxx-ng==9.1.0=hdf63c60_0
│ - libxml2==2.9.9=hea5a465_1
│ - lz4-c==1.8.1.2=h14c3975_0
│ - lzo==2.10=h49e0be7_2
│ - ncurses==6.1=he6710b0_1
│ - openssl==1.1.1c=h7b6447c_1
│ - pip==19.1.1=py37_0
│ - pycosat==0.6.3=py37h14c3975_0
│ - pycparser==2.19=py37_0
│ - pyopenssl==19.0.0=py37_0
│ - pysocks==1.7.0=py37_0
│ - python-libarchive-c==2.8=py37_11
│ - python==3.7.3=h0371630_0
│ - readline==7.0=h7b6447c_5
│ - requests==2.22.0=py37_0
│ - ruamel_yaml==0.15.46=py37h14c3975_0
│ - setuptools==41.0.1=py37_0
│ - six==1.12.0=py37_0
│ - sqlite==3.29.0=h7b6447c_0
│ - tk==8.6.8=hbc83047_0
│ - tqdm==4.32.1=py_0
│ - urllib3==1.24.2=py37_0
│ - wheel==0.33.4=py37_0
│ - xz==5.2.4=h14c3975_4
│ - yaml==0.1.7=had09818_2
│ - zlib==1.2.11=h7b6447c_3
│ - zstd==1.3.7=h0b5b093_0


│ The following NEW packages will be INSTALLED:

│ _libgcc_mutex pkgs/main/linux-64::_libgcc_mutex-0.1-main
│ asn1crypto pkgs/main/linux-64::asn1crypto-0.24.0-py37_0
│ bzip2 pkgs/main/linux-64::bzip2-1.0.8-h7b6447c_0
│ ca-certificates pkgs/main/linux-64::ca-certificates-2019.5.15-0
│ certifi pkgs/main/linux-64::certifi-2019.6.16-py37_0
│ cffi pkgs/main/linux-64::cffi-1.12.3-py37h2e261b9_0
│ chardet pkgs/main/linux-64::chardet-3.0.4-py37_1
│ conda pkgs/main/linux-64::conda-4.7.10-py37_0
│ conda-package-han~ pkgs/main/linux-64::conda-package-handling-1.3.11-py37_0
│ cryptography pkgs/main/linux-64::cryptography-2.7-py37h1ba5d50_0
│ idna pkgs/main/linux-64::idna-2.8-py37_0
│ libarchive pkgs/main/linux-64::libarchive-3.3.3-h5d8350f_5
│ libedit pkgs/main/linux-64::libedit-3.1.20181209-hc058e9b_0
│ libffi pkgs/main/linux-64::libffi-3.2.1-hd88cf55_4
│ libgcc-ng pkgs/main/linux-64::libgcc-ng-9.1.0-hdf63c60_0
│ libstdcxx-ng pkgs/main/linux-64::libstdcxx-ng-9.1.0-hdf63c60_0
│ libxml2 pkgs/main/linux-64::libxml2-2.9.9-hea5a465_1
│ lz4-c pkgs/main/linux-64::lz4-c-1.8.1.2-h14c3975_0
│ lzo pkgs/main/linux-64::lzo-2.10-h49e0be7_2
│ ncurses pkgs/main/linux-64::ncurses-6.1-he6710b0_1
│ openssl pkgs/main/linux-64::openssl-1.1.1c-h7b6447c_1
│ pip pkgs/main/linux-64::pip-19.1.1-py37_0
│ pycosat pkgs/main/linux-64::pycosat-0.6.3-py37h14c3975_0
│ pycparser pkgs/main/linux-64::pycparser-2.19-py37_0
│ pyopenssl pkgs/main/linux-64::pyopenssl-19.0.0-py37_0
│ pysocks pkgs/main/linux-64::pysocks-1.7.0-py37_0
│ python pkgs/main/linux-64::python-3.7.3-h0371630_0
│ python-libarchive~ pkgs/main/linux-64::python-libarchive-c-2.8-py37_11
│ readline pkgs/main/linux-64::readline-7.0-h7b6447c_5
│ requests pkgs/main/linux-64::requests-2.22.0-py37_0
│ ruamel_yaml pkgs/main/linux-64::ruamel_yaml-0.15.46-py37h14c3975_0
│ setuptools pkgs/main/linux-64::setuptools-41.0.1-py37_0
│ six pkgs/main/linux-64::six-1.12.0-py37_0
│ sqlite pkgs/main/linux-64::sqlite-3.29.0-h7b6447c_0
│ tk pkgs/main/linux-64::tk-8.6.8-hbc83047_0
│ tqdm pkgs/main/noarch::tqdm-4.32.1-py_0
│ urllib3 pkgs/main/linux-64::urllib3-1.24.2-py37_0
│ wheel pkgs/main/linux-64::wheel-0.33.4-py37_0
│ xz pkgs/main/linux-64::xz-5.2.4-h14c3975_4
│ yaml pkgs/main/linux-64::yaml-0.1.7-had09818_2
│ zlib pkgs/main/linux-64::zlib-1.2.11-h7b6447c_3
│ zstd pkgs/main/linux-64::zstd-1.3.7-h0b5b093_0


│ Preparing transaction: ...working... done
│ Executing transaction: ...working... WARNING conda.core.envs_manager:register_env(46): Unable to register environment. Path not writable or missing.
│ environment location: /root/.julia/conda/3
│ registry file: /root/.conda/environments.txt
│ done
│ installation finished.
│ Warning: 'defaults' already in 'channels' list, moving to the top
│ Collecting package metadata (current_repodata.json): ...working... done
│ Solving environment: ...working... done

│ ## Package Plan ##

│ environment location: /root/.julia/conda/3

│ added / updated specs:
│ - conda


│ The following packages will be downloaded:

│ package | build
│ ---------------------------|-----------------
│ certifi-2019.6.16 | py37_1 156 KB
│ chardet-3.0.4 | py37_1003 173 KB
│ ------------------------------------------------------------
│ Total: 329 KB

│ The following packages will be UPDATED:

│ certifi 2019.6.16-py37_0 --> 2019.6.16-py37_1
│ chardet 3.0.4-py37_1 --> 3.0.4-py37_1003



│ Downloading and Extracting Packages
chardet-3.0.4 | 173 KB | ########## | 100%
certifi-2019.6.16 | 156 KB | ########## | 100%
│ Preparing transaction: ...working... done
│ Verifying transaction: ...working... done
│ Executing transaction: ...working... done
│ Collecting package metadata (current_repodata.json): ...working... done
│ Solving environment: ...working... done

│ ## Package Plan ##

│ environment location: /root/.julia/conda/3

│ added / updated specs:
│ - numpy


│ The following packages will be downloaded:

│ package | build
│ ---------------------------|-----------------
│ blas-1.0 | mkl 6 KB
│ intel-openmp-2019.4 | 243 729 KB
│ libgfortran-ng-7.3.0 | hdf63c60_0 1006 KB
│ mkl-2019.4 | 243 131.2 MB
│ mkl_fft-1.0.12 | py37ha843d7b_0 154 KB
│ mkl_random-1.0.2 | py37hd81dba3_0 361 KB
│ numpy-1.16.4 | py37h7e9f1db_0 48 KB
│ numpy-base-1.16.4 | py37hde5b4d6_0 3.5 MB
│ ------------------------------------------------------------
│ Total: 137.0 MB

│ The following NEW packages will be INSTALLED:

│ blas pkgs/main/linux-64::blas-1.0-mkl
│ intel-openmp pkgs/main/linux-64::intel-openmp-2019.4-243
│ libgfortran-ng pkgs/main/linux-64::libgfortran-ng-7.3.0-hdf63c60_0
│ mkl pkgs/main/linux-64::mkl-2019.4-243
│ mkl_fft pkgs/main/linux-64::mkl_fft-1.0.12-py37ha843d7b_0
│ mkl_random pkgs/main/linux-64::mkl_random-1.0.2-py37hd81dba3_0
│ numpy pkgs/main/linux-64::numpy-1.16.4-py37h7e9f1db_0
│ numpy-base pkgs/main/linux-64::numpy-base-1.16.4-py37hde5b4d6_0



│ Downloading and Extracting Packages
mkl-2019.4 | 131.2 MB | ########## | 100%
numpy-1.16.4 | 48 KB | ########## | 100%
blas-1.0 | 6 KB | ########## | 100%
libgfortran-ng-7.3.0 | 1006 KB | ########## | 100%
intel-openmp-2019.4 | 729 KB | ########## | 100%
numpy-base-1.16.4 | 3.5 MB | ########## | 100%
mkl_random-1.0.2 | 361 KB | ########## | 100%
mkl_fft-1.0.12 | 154 KB | ########## | 100%
│ Preparing transaction: ...working... done
│ Verifying transaction: ...working... done
│ Executing transaction: ...working... done
│ ┌ Info: Using the Python distribution in the Conda package by default.
│ └ To use a different Python version, set ENV["PYTHON"]="pythoncommand" and re-run Pkg.build("PyCall").
│ [ Info: Downloading miniconda installer ...
│ [ Info: Installing miniconda ...
│ [ Info: Running `conda config --add channels defaults --file /root/.julia/conda/3/condarc-julia.yml --force` in root environment
│ [ Info: Running `conda update -y conda` in root environment
│ [ Info: Running `conda install -y numpy` in root environment
│ ERROR: LoadError: IOError: could not spawn setenv(`/root/.julia/conda/3/bin/python /root/.julia/packages/PyCall/ttONZ/deps/find_libpython.py --list-all`,["WEBIO_WEBSOCKT_URL=wss://nextjournal.com/runner/LVTHeJHXjeqxJKHfBMVT6/runtime/c51cfdf9-861f-41a4-8779-7c673a8840d6/webio_websocket/", "PYTHONIOENCODING=UTF-8", "PATH=/usr/local/julia/bin:/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "WEBIO_SERVER_HOST_URL=0.0.0.0", "DISPLAY=:0", "JULIA_PATH=/usr/local/julia", "NVIDIA_DRIVER_CAPABILITIES=all", "LC_ALL=en_US.UTF-8", "JULIA_VERSION=1.1.0", "LANGUAGE=en_US.en", "NVIDIA_VISIBLE_DEVICES=void", "LANG=en_US.UTF-8", "JULIA_WEBIO_BASEURL=https://nextjournal.com/runner/LVTHeJHXjeqxJKHfBMVT6/runtime/c51cfdf9-861f-41a4-8779-7c673a8840d6", "BASH_ENV=/.bash_profile", "JULIA_LOAD_PATH=@:/tmp/tmpPtynLW", "NEXTJOURNAL_MOUNT_CUDA=9.2-cudnn7-devel-ubuntu18.04", "HOME=/root", "WEBIO_HTTP_PORT=9998", "OPENBLAS_MAIN_FREE=1", "HOSTNAME=f7c836db60d4", "GKSwstype=svg", "NEXTJOURNAL_RUNTIME_SERVICE_URL=https://nextjournal.com/runner/LVTHeJHXjeqxJKHfBMVT6/runtime/c51cfdf9-861f-41a4-8779-7c673a8840d6"]): invalid argument (EINVAL)
│ Stacktrace:
│ [1] _spawn_primitive(::String, ::Cmd, ::Array{Any,1}) at ./process.jl:400
│ [2] setup_stdios(::getfield(Base, Symbol("##505#506")){Cmd}, ::Array{Any,1}) at ./process.jl:413
│ [3] _spawn at ./process.jl:412 [inlined]
│ [4] #eachline#511(::Bool, ::Function, ::Cmd) at ./process.jl:618
│ [5] eachline at ./process.jl:617 [inlined]
│ [6] #readlines#288 at ./io.jl:414 [inlined]
│ [7] readlines at ./io.jl:414 [inlined]
│ [8] exec_find_libpython at /root/.julia/packages/PyCall/ttONZ/deps/buildutils.jl:28 [inlined]
│ [9] #find_libpython#3(::typeof(Libdl.dlopen), ::Function, ::String) at /root/.julia/packages/PyCall/ttONZ/deps/buildutils.jl:43
│ [10] find_libpython(::String) at /root/.julia/packages/PyCall/ttONZ/deps/buildutils.jl:41
│ [11] top-level scope at /root/.julia/packages/PyCall/ttONZ/deps/build.jl:87
│ [12] include at ./boot.jl:326 [inlined]
│ [13] include_relative(::Module, ::String) at ./loading.jl:1038
│ [14] include(::Module, ::String) at ./sysimg.jl:29
│ [15] include(::String) at ./client.jl:403
│ [16] top-level scope at none:0
│ in expression starting at /root/.julia/packages/PyCall/ttONZ/deps/build.jl:43
└ @ Pkg.Operations /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.1/Pkg/src/Operations.jl:1075

```

I prepared a notebook, with some debug information and a way to reproduce it:
https://nextjournal.com/sdanisch-scratch/pycall-build-error/
You can simply remix it, to have a look at whats happening.
I have no idea what's going on - seems like everything is there and working properly, but somehow conda just doesn't want to parse its arguments...
Also, I tried using the systems python3, which got me in different, but equally frustrating problems.

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Línea de trabajo

Start by reproducing the failure with Pkg.build("PyCall") and inspect the referenced deps/build.jl, deps/buildutils.jl, and deps/find_libpython.py files alongside the generated build.log. Trace the find_libpython.py invocation that fails with EINVAL, then verify that PyCall builds successfully in the reported environment.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
julia, python
Área
build-system
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
25/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.