Giter Club home page Giter Club logo

conda.jl's Introduction

Conda.jl

Build Status

This package allows one to use conda as a cross-platform binary provider for Julia for other Julia packages, especially to install binaries that have complicated dependencies like Python.

conda is a package manager which started as the binary package manager for the Anaconda Python distribution, but it also provides arbitrary packages. Instead of the full Anaconda distribution, Conda.jl uses the miniconda Python environment, which only includes conda and its dependencies.

Basic functionality

At the julia> prompt, type a ] (close square bracket) to get a Julia package prompt pkg>, where you can type add Conda to install this package.

Once Conda is installed, you can run import Conda to load the package and run a variety of package-management functions:

  • Conda.add(package, env; channel=""): install a package from a specified channel (optional);
  • Conda.rm(package, env): remove (uninstall) a package;
  • Conda.update(env): update all installed packages to the latest version;
  • Conda.list(env): list all installed packages.
  • Conda.add_channel(channel, env): add a channel to the list of channels;
  • Conda.channels(env): get the current list of channels;
  • Conda.rm_channel(channel, env): remove a channel from the list of channels;
  • experimental: read the section Conda and pip below before using the following
    • Conda.pip_interop(bool, env): config environment to interact with pip
    • Conda.pip(command, package, env): run pip command on packages in environment

The parameter env is optional and defaults to ROOTENV. See below for more info.

Conda environments

Conda environments allow you to manage multiple distinct sets of packages in a way that avoids conflicts and allows you to install different versions of packages simultaneously.

The Conda.jl package supports environments by allowing you to pass an optional env parameter to functions for package installation, update, and so on. If this parameter is not specified, then the default "root" environment (corresponding to the path in Conda.ROOTENV) is used. The environment name can be specified as a Symbol, or the full path of the environment (if you want to use an environment in a nonstandard directory) can be passed as a string.

For example:

using Conda
Conda.add("libnetcdf", :my_env)
Conda.add("libnetcdf", "/path/to/directory")
Conda.add("libnetcdf", "/path/to/directory"; channel="anaconda")

(NOTE: If you are installing Python packages for use with PyCall, you must use the root environment.)

BinDeps integration: using Conda.jl as a package author

Conda.jl can be used as a Provider for BinDeps with the CondaBinDeps package.

Using a pre-existing Conda installation

To use a pre-existing Conda installation, first create an environment for Conda.jl and then set the CONDA_JL_HOME environment variable to the full path of the environment. (You have to rebuild Conda.jl and many of the packages that use it after this.) In Julia, run:

julia> run(`conda create -n conda_jl python conda`)

julia> ENV["CONDA_JL_HOME"] = "/path/to/miniconda/envs/conda_jl"  # change this to your path

pkg> build Conda

Using a conda executable outside of the home environment

To use a specific conda executable, set the CONDA_JL_CONDA_EXE environment variable to the location of the conda executable. This conda executable can exist outside of the environment set by CONDA_JL_HOME. To apply the settting, rebuild Conda.jl. In Julia, run:

julia> ENV["CONDA_JL_CONDA_EXE"] = "/path/to/miniconda/bin/conda" # change this to the path of the conda executable

pkg> build Conda

The use of CONDA_JL_CONDA_EXE requires at least version 1.7 of Conda.jl.

Conda and pip

As of conda 4.6.0 there is improved support for PyPi packages. Conda is still the recommended installation method however if there are packages that are only availible with pip one can do the following:

julia> Conda.pip_interop(true, env)

julia> Conda.pip("install", "somepackage")

julia> Conda.pip("install", ["somepackage1", "somepackage2"])

julia> Conda.pip("uninstall", "somepackage")

julia> Conda.pip("uninstall", ["somepackage1", "somepackage2])

If the uninstall command is to be used noninteractively, one can use "uninstall -y" to answer yes to the prompts.

Using Python 2

By default, the Conda.jl package installs Python 3, and this version of Python is used for all Python dependencies. If you want to use Python 2 instead, set CONDA_JL_VERSION to "2" prior to installing Conda. (This only needs to be done once; Conda subsequently remembers the version setting.)

Once you have installed Conda and run its Miniconda installer, the Python version cannot be changed without deleting your existing Miniconda installation. If you set ENV["CONDA_JL_VERSION"]="2" and run Pkg.build("Conda"), it will tell you how to delete your existing Miniconda installation if needed.

Most users will not need to use Python 2. This is provided primarily for developers wishing to test their packages for both Python 2 and Python, e.g. by setting the CONDA_JL_VERSION variable on TravisCI and/or AppVeyor.

Using Miniforge

Miniforge is a community based conda installer by conda-forge, a part of NumFOCUS. Using miniforge and conda-forge in general avoids using repo.anaconda.com maintained by Anaconda, Inc which has terms of conditions that you may want to avoid. conda-forge packages are hosted on anaconda.org, but Anaconda, Inc has been providing hosting for free under the terms of conda-forge which is BSD-3-Clause on top of the original license of the software packages. To use miniforge, use the CONDA_JL_USE_MINIFORGE environment variable.

julia> ENV["CONDA_JL_USE_MINIFORGE"] = "1"

pkg> build Conda

Note that Conda.jl 1.6 and above will use miniforge by default on x86_64, aarch64 and ppc64le systems.

Troubleshooting

Installation with special characters in user names

If you have a special character in your user name (like an umlaut or an accent) the installation which defaults to directory C:\Users\<username>\.julia\Conda\3 will fail on Windows. A space in your user name will also fail on any platform. This is a known issue. The work-around is to install Miniconda to a user-writable directory outside of the home directory. Before installing Conda.jl, choose a directory without space and without special characters and set the environment variable CONDA_JL_HOME as follows inside a julia session:

ENV["CONDA_JL_HOME"] = raw"C:\Conda-Julia\3"
using Pkg
Pkg.build("Conda")

After restarting Julia, you can verify the new installation directory:

using Conda
@show Conda.ROOTENV

If you use IJulia or PyCall, they need to be re-build:

using Pkg
Pkg.build("PyCall")
Pkg.build("IJulia")

Bugs and suggestions

Conda has been tested on Linux, OS X, and Windows.

Please report any bug or suggestion as an github issue

License

The Conda.jl package is licensed under the MIT Expat license, and is copyrighted by Guillaume Fraux and contributors.

conda.jl's People

Contributors

alexander-barth avatar ali-ramadhan avatar ararslan avatar dhoegh avatar femtocleaner[bot] avatar isuruf avatar juliatagbot avatar luthaf avatar m-wells avatar meggart avatar mkitti avatar omus avatar oxinabox avatar pallharaldsson avatar quinnj avatar rofinn avatar royiavital avatar staticfloat avatar stevengj avatar szcf-weiya avatar tkelman avatar tkf avatar waldyrious avatar wookay avatar yuyichao avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

conda.jl's Issues

0.5.0-rc2 qt linking error

coming from there: JuliaPy/PyPlot.jl#237
that's the error now:

julia> using Conda

julia> Conda.add("pyqt")
Get-Process : Es kann kein Prozess mit dem Namen "Outlook" gefunden werden. Überprüfen Sie den Prozessnamen, und rufen Sie das Cmdlet erneut auf.
In Zeile:1 Zeichen:1
+ Get-Process Outlook
+ ~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (Outlook:String) [Get-Process], ProcessCommandException
    + FullyQualifiedErrorId : NoProcessFoundForGivenName,Microsoft.PowerShell.Commands.GetProcessCommand

Fetching package metadata .........
Solving package specifications: ..........

Package plan for installation in environment C:\Users\necka\.julia\v0.5\Conda\deps\usr:

The following NEW packages will be INSTALLED:

    pyqt: 4.11.4-py27_7
    qt:   4.8.7-vc9_9   [vc9]

Linking packages ...
Error: Error: post-link failed for: qt-4.8.7-vc9_9                       |   0%
ERROR: failed process: Process(setenv(`'C:\Users\necka\.julia\v0.5\Conda\deps\usr\Scripts\conda' install -y pyqt`,String["CONDARC=C:\\Users\\necka\\.julia\\v0.5\\Conda\\deps\\usr\\condarc-julia","=::=::\\"]), ProcessExited(1)) [1]
 in pipeline_error(::Base.Process) at .\process.jl:616
 in run(::Cmd) at .\process.jl:592
 in add(::String) at C:\Users\necka\.julia\v0.5\Conda\src\Conda.jl:144

Install non-conda packages

Is there a way to install non conda packages?

On OSX I would usually run pip2 install -e 'git+https://github.com/mne-tools/mne-python#egg=mne-dev'. But I would like to use your package to standardise across operating systems.

I have installed the requirements using

Conda.add("NumPy")
Conda.add("SciPy")
Conda.add("matplotlib")

But the following line fails

Conda.add("git+https://github.com/mne-tools/mne-python#egg=mne-dev")

Thanks

Error in travis

INFO: Installing matplotlib via the Conda matplotlib package...
Fetching package metadata ...Error: Invalid index file: https://repo.continuum.io/pkgs/free/osx-64/repodata.json.bz2: couldn't find end of stream

Any ideas? Subsequent errors imply that matplotlib was never installed.

Python 3 support

It would be great to have support for Python 3. (I can't find it in the package.)

New release

When do you plan to get a new release (with #47) in METADATA.jl?

"ERROR: Conda is not an installed package", when Pkg.build("Conda").

I took instructions on this section:

Using an already existing Conda installation
https://github.com/JuliaPy/Conda.jl#using-an-already-existing-conda-installation

my env vars:
CONDA_JL_HOME="C:/ProgramData/Miniconda3/envs/conda_jl"
CONDA_JL_VERSION=3

julia> Pkg.build("Conda")
ERROR: Conda is not an installed package
Stacktrace:
 [1] build!(::Array{String,1}, ::Set{Any}, ::String) at .\pkg\entry.jl:623
 [2] build!(::Array{String,1}, ::Dict{Any,Any}, ::Set{Any}) at .\pkg\entry.jl:635
 [3] build(::Array{String,1}) at .\pkg\entry.jl:650
 [4] (::Base.Pkg.Dir.##4#7{Array{Any,1},Base.Pkg.Entry.#build,Tuple{Array{String,1}}})() at .\pkg\dir.jl:36
 [5] cd(::Base.Pkg.Dir.##4#7{Array{Any,1},Base.Pkg.Entry.#build,Tuple{Array{String,1}}}, ::String) at .\file.jl:59
 [6] #cd#1(::Array{Any,1}, ::Function, ::Function, ::Array{String,1}, ::Vararg{Array{String,1},N} where N) at .\pkg\dir.jl:36
 [7] build(::String, ::Vararg{String,N} where N) at .\pkg\pkg.jl:254

julia>

installer silently fails?

I'm trying a 64-bit Windows 8 machine (technically, running on a Mac under VMware fusion) with Julia 0.4.0-rc4, and the miniconda installer seems to silently do nothing:
image
That is, it runs installer.exe and seems to succeed (no error is printed), but nothing seems to be installed (no conda command or anything else in deps/usr except for installer.exe itself).

Anything I should be trying?

LoadError: UndefVarError: MINICONDA_VERSION not defined

julia> Pkg.build("Conda")
INFO: Building Conda
================================[ ERROR: Conda ]================================

LoadError: UndefVarError: MINICONDA_VERSION not defined
while loading /Users/solver/.julia/v0.6/Conda/deps/build.jl, in expression starting on line 13

================================================================================

================================[ BUILD ERRORS ]================================

WARNING: Conda had build errors.

 - packages with build errors remain installed in /Users/solver/.julia/v0.6
 - build the package(s) and all dependencies with `Pkg.build("Conda")`
 - build a single package by running its `deps/build.jl` script

================================================================================

julia> versioninfo()
Julia Version 0.6.0
Commit 903644385b (2017-06-19 13:05 UTC)
Platform Info:
  OS: macOS (x86_64-apple-darwin16.7.0)
  CPU: Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
  WORD_SIZE: 64
  BLAS: libgfortblas
  LAPACK: liblapack
  LIBM: libopenlibm
  LLVM: libLLVM-3.9.1 (ORCJIT, broadwell)

Install errors

Hi,
On Ubuntu-14.04-LTS, running Julia-0.4 (git master) I get the following errors while trying to install Conda.jl :

INFO: Building Conda
INFO: Downloading miniconda installer …
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (77) error setting certificate verify locations:
  CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
==========================================================================[ ERROR: Conda ]==========================================================================

LoadError: LoadError: InitError: failed process: Process(`curl -o /home/sva/.julia/v0.4/Conda/deps/usr/installer -L https://repo.continuum.io/miniconda/Miniconda-latest-Linux-x86_64.sh`, ProcessExited(77)) [77]
during initialization of module Conda
while loading /home/sva/.julia/v0.4/Conda/src/Conda.jl, in expression starting on line 349
while loading /home/sva/.julia/v0.4/Conda/deps/build.jl, in expression starting on line 1

====================================================================================================================================================================

==========================================================================[ BUILD ERRORS ]==========================================================================

WARNING: Conda had build errors.

 - packages with build errors remain installed in /home/sva/.julia/v0.4
 - build the package(s) and all dependencies with `Pkg.build("Conda")`
 - build a single package by running its `deps/build.jl` script

====================================================================================================================================================================

julia> Pkg.build("Conda")
INFO: Building Conda
==========================================================================[ ERROR: Conda ]==========================================================================

LoadError: could not spawn `/home/sva/.julia/v0.4/Conda/deps/usr/bin/conda list --json`: no such file or directory (ENOENT)
while loading /home/sva/.julia/v0.4/Conda/deps/build.jl, in expression starting on line 2

====================================================================================================================================================================

==========================================================================[ BUILD ERRORS ]==========================================================================

WARNING: Conda had build errors.

 - packages with build errors remain installed in /home/sva/.julia/v0.4
 - build the package(s) and all dependencies with `Pkg.build("Conda")`
 - build a single package by running its `deps/build.jl` script

====================================================================================================================================================================

julia> 

Thanks!

Using an existing miniconda3

I prefer to use python3 and have installed it and several packages using miniconda3. The instructions for using and existing conda with Conda.jl indicate that I should create a new conda environment, say conda_jl, with python and perhaps other packages, then pass the location as ENV["CONDA_JL_HOME"]

Is it necessary to create this new environment or can I just use the default conda environment for Conda.jl? My primary use of the conda packages will be through Julia PyCall.

Problems with one environment

Having one environment has several issues.

  • Channel priority will be changed by each package using Conda.jl and it will downgrade or upgrade some packages when same package is in different channels like defaults, conda-forge.
  • Features make it impossible to install some packages together. For example, a package that links against vs2015_runtime cannot be installed in a Python 2.7 environment because it uses an old vs2008_runtime. (I had to install Python 3.5 just to install a C package. This might cause problems with other Julia packages.)
  • Conda.rm can screw up other Julia packages.

Therefore, having separate environments for each package in BinDeps is probably the best way forward.

Conda IOError when installing any package

(Perhaps this is an upstream issue but I'm not sure.)

I was trying to install IJulia after moving my ~/.julia/v0.4 directory out of the way and it errorred out when Conda was trying to install some packages. In trying to narrow down the issue, if I run conda from the command line /u/hertz/.julia/v0.4/Conda/deps/usr/bin/conda install -y pip its output is:

Fetching package metadata: ....
Solving package specifications: .
Package plan for installation in environment /u/hertz/.julia/v0.4/Conda/deps/usr:

The following NEW packages will be INSTALLED:

    pip:        7.1.2-py27_0 
    setuptools: 18.8.1-py27_0
    wheel:      0.26.0-py27_1

The following packages will be UPDATED:

    conda:      3.9.1-py27_0 --> 3.18.9-py27_0
    conda-env:  2.1.3-py27_0 --> 2.4.5-py27_0 
    openssl:    1.0.1k-0     --> 1.0.2d-0     
    python:     2.7.9-1      --> 2.7.11-0     
    pyyaml:     3.11-py27_0  --> 3.11-py27_1  
    requests:   2.5.3-py27_0 --> 2.9.0-py27_0 
    sqlite:     3.8.4.1-0    --> 3.8.4.1-1    
    tk:         8.5.15-0     --> 8.5.18-0     
    yaml:       0.1.4-0      --> 0.1.6-0      

Extracting packages ...
An unexpected error has occurred, please consider sending the                                                                              |  12%
following traceback to the conda GitHub issue tracker at:

    https://github.com/conda/conda/issues

Include the output of the command 'conda info' in your report.


Traceback (most recent call last):
  File "/u/hertz/.julia/v0.4/Conda/deps/usr/bin/conda", line 5, in <module>
    sys.exit(main())
  File "/u/hertz/.julia/v0.4/Conda/deps/usr/lib/python2.7/site-packages/conda/cli/main.py", line 202, in main
    args_func(args, p)
  File "/u/hertz/.julia/v0.4/Conda/deps/usr/lib/python2.7/site-packages/conda/cli/main.py", line 207, in args_func
    args.func(args, p)
  File "/u/hertz/.julia/v0.4/Conda/deps/usr/lib/python2.7/site-packages/conda/cli/main_install.py", line 46, in execute
    install.install(args, parser, 'install')
  File "/u/hertz/.julia/v0.4/Conda/deps/usr/lib/python2.7/site-packages/conda/cli/install.py", line 420, in install
    plan.execute_actions(actions, index, verbose=not args.quiet)
  File "/u/hertz/.julia/v0.4/Conda/deps/usr/lib/python2.7/site-packages/conda/plan.py", line 502, in execute_actions
    inst.execute_instructions(plan, index, verbose)
  File "/u/hertz/.julia/v0.4/Conda/deps/usr/lib/python2.7/site-packages/conda/instructions.py", line 140, in execute_instructions
    cmd(state, arg)
  File "/u/hertz/.julia/v0.4/Conda/deps/usr/lib/python2.7/site-packages/conda/instructions.py", line 55, in EXTRACT_CMD
    install.extract(config.pkgs_dirs[0], arg)
  File "/u/hertz/.julia/v0.4/Conda/deps/usr/lib/python2.7/site-packages/conda/install.py", line 448, in extract
    t.extractall(path=path)
  File "/u/hertz/.julia/v0.4/Conda/deps/usr/lib/python2.7/tarfile.py", line 2070, in extractall
    self.extract(tarinfo, path)
  File "/u/hertz/.julia/v0.4/Conda/deps/usr/lib/python2.7/tarfile.py", line 2107, in extract
    self._extract_member(tarinfo, os.path.join(path, tarinfo.name))
  File "/u/hertz/.julia/v0.4/Conda/deps/usr/lib/python2.7/tarfile.py", line 2183, in _extract_member
    self.makefile(tarinfo, targetpath)
  File "/u/hertz/.julia/v0.4/Conda/deps/usr/lib/python2.7/tarfile.py", line 2224, in makefile
    copyfileobj(source, target)
IOError: [Errno 5] Input/output error

Also, /u/hertz/.julia/v0.4/Conda/deps/usr/bin/conda info returns:

Current conda install:

             platform : linux-64
        conda version : 3.9.1
  conda-build version : not installed
       python version : 2.7.9.final.0
     requests version : 2.5.3
     root environment : /u/hertz/.julia/v0.4/Conda/deps/usr  (writable)
  default environment : /u/hertz/.julia/v0.4/Conda/deps/usr
     envs directories : /u/hertz/.julia/v0.4/Conda/deps/usr/envs
        package cache : /u/hertz/.julia/v0.4/Conda/deps/usr/pkgs
         channel URLs : http://repo.continuum.io/pkgs/free/linux-64/
                        http://repo.continuum.io/pkgs/free/noarch/
                        http://repo.continuum.io/pkgs/pro/linux-64/
                        http://repo.continuum.io/pkgs/pro/noarch/
          config file : None
    is foreign system : False

versioninfo() reports:

Julia Version 0.4.2
Commit bb73f34 (2015-12-06 21:47 UTC)
Platform Info:
  System: Linux (x86_64-unknown-linux-gnu)
  CPU: Intel(R) Xeon(R) CPU E5-2690 v2 @ 3.00GHz
  WORD_SIZE: 64
           "Red Hat Enterprise Linux Workstation release 6.4 (Santiago)"
  uname: Linux 2.6.32-358.el6.x86_64 #1 SMP Tue Jan 29 11:47:41 EST 2013 x86_64 x86_64
Memory: 504.78792572021484 GB (508220.28515625 MB free)
Uptime: 733885.0 sec
Load Avg:  0.35791015625  0.16845703125  0.11279296875
Intel(R) Xeon(R) CPU E5-2690 v2 @ 3.00GHz: 
          speed         user         nice          sys         idle          irq
#1-20  2992 MHz   58099163 s         20 s    3562866 s  1404979894 s        127 s

  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Sandybridge)
  LAPACK: libopenblas64_
  LIBM: libopenlibm
  LLVM: libLLVM-3.3
Package Directory: /u/hertz/.julia/v0.4
2 required packages:
 - Compat                        0.7.8
 - IJulia                        1.1.8
7 additional packages:
 - BinDeps                       0.3.20
 - Conda                         0.1.8
 - JSON                          0.5.0
 - Nettle                        0.2.0
 - SHA                           0.1.2
 - URIParser                     0.1.1
 - ZMQ                           0.3.1

If this is an upstream issue or if there is anything I can try please let me know.

Precompile fail

I get an error with precompile that seems to be related to Conda:

julia> using ExcelReaders
INFO: Precompiling module ExcelReaders...
INFO: Recompiling stale cache file C:\Users\davidanthoff\.julia\lib\v0.4\ExcelReaders.ji for module ExcelReaders.
WARNING: Module Conda uuid did not match cache file
ERROR: __precompile__(true) but require failed to create a precompiled cache file
 in require at loading.jl:252

This happens on a fresh Win install, fresh julia 0.4 install, after I clone ExcelReaders. Once I exit julia and do using ExcelReaders again everything works. Here is the full log:

   _       _ _(_)_     |  A fresh approach to technical computing
  (_)     | (_) (_)    |  Documentation: http://docs.julialang.org
   _ _   _| |_  __ _   |  Type "?help" for help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 0.4.0 (2015-10-08 06:20 UTC)
 _/ |\__'_|_|_|\__'_|  |  Official http://julialang.org/ release
|__/                   |  x86_64-w64-mingw32

julia> Pkg.clone("ExcelReaders")
INFO: Initializing package repository C:\Users\davidanthoff\.julia\v0.4
INFO: Cloning METADATA from git://github.com/JuliaLang/METADATA.jl
INFO: Cloning ExcelReaders from git://github.com/davidanthoff/ExcelReaders.jl.git
INFO: Computing changes...
INFO: Cloning cache of ArrayViews from git://github.com/JuliaLang/ArrayViews.jl.git
INFO: Cloning cache of BinDeps from git://github.com/JuliaLang/BinDeps.jl.git
INFO: Cloning cache of Compat from git://github.com/JuliaLang/Compat.jl.git
INFO: Cloning cache of Conda from git://github.com/Luthaf/Conda.jl.git
INFO: Cloning cache of DataArrays from git://github.com/JuliaStats/DataArrays.jl.git
INFO: Cloning cache of DataFrames from git://github.com/JuliaStats/DataFrames.jl.git
INFO: Cloning cache of Dates from git://github.com/quinnj/Dates.jl.git
INFO: Cloning cache of Docile from git://github.com/MichaelHatherly/Docile.jl.git
INFO: Cloning cache of GZip from git://github.com/JuliaLang/GZip.jl.git
INFO: Cloning cache of JSON from git://github.com/JuliaLang/JSON.jl.git
INFO: Cloning cache of PyCall from git://github.com/stevengj/PyCall.jl.git
INFO: Cloning cache of Reexport from git://github.com/simonster/Reexport.jl.git
INFO: Cloning cache of SHA from git://github.com/staticfloat/SHA.jl.git
INFO: Cloning cache of SortingAlgorithms from git://github.com/JuliaLang/SortingAlgorithms.jl.git
INFO: Cloning cache of StatsBase from git://github.com/JuliaStats/StatsBase.jl.git
INFO: Cloning cache of StatsFuns from git://github.com/JuliaStats/StatsFuns.jl.git
INFO: Cloning cache of URIParser from git://github.com/JuliaWeb/URIParser.jl.git
INFO: Installing ArrayViews v0.6.4
INFO: Installing BinDeps v0.3.18
INFO: Installing Compat v0.7.6
INFO: Installing Conda v0.1.7
INFO: Installing DataArrays v0.2.19
INFO: Installing DataFrames v0.6.10
INFO: Installing Dates v0.4.4
INFO: Installing Docile v0.5.19
INFO: Installing GZip v0.2.18
INFO: Installing JSON v0.5.0
INFO: Installing PyCall v1.1.2
INFO: Installing Reexport v0.0.3
INFO: Installing SHA v0.1.2
INFO: Installing SortingAlgorithms v0.0.6
INFO: Installing StatsBase v0.7.4
INFO: Installing StatsFuns v0.1.4
INFO: Installing URIParser v0.1.1
INFO: Building PyCall
INFO: Precompiling module Compat...
INFO: Precompiling module JSON...
INFO: Precompiling module URIParser...
INFO: Precompiling module SHA...
INFO: PyCall is using python (Python 2.7.10) at C:\Python27\python.exe, libpython = python27
INFO: Package database updated

julia> using ExcelReaders
INFO: Precompiling module ExcelReaders...
INFO: Recompiling stale cache file C:\Users\davidanthoff\.julia\lib\v0.4\ExcelReaders.ji for module ExcelReaders.
WARNING: Module Conda uuid did not match cache file
ERROR: __precompile__(true) but require failed to create a precompiled cache file
 in require at loading.jl:252

julia> quit()
PS C:\Users\davidanthoff> .\AppData\Local\Julia-0.4.0\bin\julia.exe
               _
   _       _ _(_)_     |  A fresh approach to technical computing
  (_)     | (_) (_)    |  Documentation: http://docs.julialang.org
   _ _   _| |_  __ _   |  Type "?help" for help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 0.4.0 (2015-10-08 06:20 UTC)
 _/ |\__'_|_|_|\__'_|  |  Official http://julialang.org/ release
|__/                   |  x86_64-w64-mingw32

julia> using ExcelReaders

julia>

I'm CCing @stevengj, mainly because he seems to actually understand precompile really well. Feel free to ignore, not really your problem, although something similar might happen for your various packages like PyPlot (but I haven't tried).

Conda.add("numpy") fails on 64-bit Windows 10

Hello. I was updating my Julia to 0.6 stable but ever since doing that I can't get PyCall to work and I've tracked it down to Conda not working right. First I got stuck on the endless miniconda install loop. After using the workaround in #79 I managed to install it, but I still can't get it to work.
Doing

using Conda

Conda.add("numpy")

gives this error

Traceback (most recent call last):
  File "I:\Julia\Julia_pkgs\v0.6\Conda\deps\usr\Scripts\conda-script.py", line 5, in <module>
    sys.exit(conda.cli.main())
  File "I:\Julia\Julia_pkgs\v0.6\Conda\deps\usr\lib\site-packages\conda\cli\main.py", line 179, in main
    return conda_exception_handler(_main, *args)
  File "I:\Julia\Julia_pkgs\v0.6\Conda\deps\usr\lib\site-packages\conda\exceptions.py", line 636, in conda_exception_handler
    return handle_exception(e)
  File "I:\Julia\Julia_pkgs\v0.6\Conda\deps\usr\lib\site-packages\conda\exceptions.py", line 626, in handle_exception
    print_unexpected_error_message(e)
  File "I:\Julia\Julia_pkgs\v0.6\Conda\deps\usr\lib\site-packages\conda\exceptions.py", line 588, in print_unexpected_error_message
    stderrlogger.info(get_main_info_str(get_info_dict()))
  File "I:\Julia\Julia_pkgs\v0.6\Conda\deps\usr\lib\site-packages\conda\cli\main_info.py", line 162, in get_info_dict
    from ..connection import user_agent
  File "I:\Julia\Julia_pkgs\v0.6\Conda\deps\usr\lib\site-packages\conda\connection.py", line 12, in <module>
    from requests import Session, __version__ as REQUESTS_VERSION
  File "I:\Julia\Julia_pkgs\v0.6\Conda\deps\usr\lib\site-packages\requests\__init__.py", line 52, in <module>
    from .packages.urllib3.contrib import pyopenssl
  File "I:\Julia\Julia_pkgs\v0.6\Conda\deps\usr\lib\site-packages\requests\packages\urllib3\contrib\pyopenssl.py", line 47, in <module>
    from cryptography import x509
  File "I:\Julia\Julia_pkgs\v0.6\Conda\deps\usr\lib\site-packages\cryptography\x509\__init__.py", line 7, in <module>
    from cryptography.x509.base import (
  File "I:\Julia\Julia_pkgs\v0.6\Conda\deps\usr\lib\site-packages\cryptography\x509\base.py", line 16, in <module>
    from cryptography.x509.extensions import Extension, ExtensionType
  File "I:\Julia\Julia_pkgs\v0.6\Conda\deps\usr\lib\site-packages\cryptography\x509\extensions.py", line 14, in <module>
    from asn1crypto.keys import PublicKeyInfo
  File "I:\Julia\Julia_pkgs\v0.6\Conda\deps\usr\lib\site-packages\asn1crypto\keys.py", line 22, in <module>
    from ._elliptic_curve import (
  File "I:\Julia\Julia_pkgs\v0.6\Conda\deps\usr\lib\site-packages\asn1crypto\_elliptic_curve.py", line 51, in <module>
    from ._int import inverse_mod
  File "I:\Julia\Julia_pkgs\v0.6\Conda\deps\usr\lib\site-packages\asn1crypto\_int.py", line 56, in <module>
    from ._perf._big_num_ctypes import libcrypto
  File "I:\Julia\Julia_pkgs\v0.6\Conda\deps\usr\lib\site-packages\asn1crypto\_perf\_big_num_ctypes.py", line 31, in <module>
    libcrypto_path = find_library('crypto')
  File "I:\Julia\Julia_pkgs\v0.6\Conda\deps\usr\lib\ctypes\util.py", line 53, in find_library
    fname = os.path.join(directory, name)
  File "I:\Julia\Julia_pkgs\v0.6\Conda\deps\usr\lib\ntpath.py", line 85, in join
    result_path = result_path + p_path
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe4 in position 18: ordinal not in range(128)
ERROR: failed process: Process(setenv(`'I:\Julia\Julia_pkgs\v0.6\Conda\deps\usr\Scripts\conda.exe' install -y numpy`,String["USERDOMAIN_ROAMINGPROFILE=DESKTOP-9PHTHQA", "HOMEPATH=\\Users\\Ghost", "ProgramData=C:\\ProgramData", "ProgramW6432=C:\\Program Files", "PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC", "SESSIONNAME=Console", "APPDATA=C:\\Users\\Ghost\\AppData\\Roaming", "PUBLIC=C:\\Users\\Public", "USERDOMAIN=DESKTOP-9PHTHQA", "OS=Windows_NT", "PROCESSOR_REVISION=5e03", "TMP=C:\\Users\\Ghost\\AppData\\Local\\Temp", "AF_PATH_v3=C:\\Program Files\\ArrayFire\\v3", "ALLUSERSPROFILE=C:\\ProgramData", "Path=I:\\Julia\\Julia-0.6.0\\bin;C:\\Program Files (x86)\\NVIDIA Corporation\\PhysX\\Common;C:\\ProgramData\\Oracle\\Java\\javapath;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files (x86)\\ATI Technologies\\ATI.ACE\\Core-Static;C:\\Program Files (x86)\\AMD\\ATI.ACE\\Core-Static;D:\\Ohjelmat\\Tekstinkäsittelyä\\MikTex\\miktex\\bin\\x64\\;D:\\Ohjelmat\\Matlab2013\\runtime\\win64;D:\\Ohjelmat\\Matlab2013\\bin;D:\\Ohjelmat\\Matlab2013\\polyspace\\bin;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files (x86)\\Skype\\Phone\\;C:\\Users\\Ghost\\AppData\\Local\\Microsoft\\WindowsApps;C:\\Users\\Ghost\\AppData\\Local\\atom\\bin;C:\\Program Files\\ArrayFire\\v3\\lib;I:\\Julia\\Julia-0.6.0\\bin;C:\\Users\\Ghost\\AppData\\Local\\Microsoft\\WindowsApps;", "COMPUTERNAME=DESKTOP-9PHTHQA", "USERNAME=Ghost", "CommonProgramFiles(x86)=C:\\Program Files (x86)\\Common Files", "CommonProgramFiles=C:\\Program Files\\Common Files", "CONDARC=I:\\Julia\\Julia_pkgs\\v0.6\\Conda\\deps\\usr\\condarc-julia.yml", "USERPROFILE=C:\\Users\\Ghost", "PSModulePath=C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\Modules\\;C:\\Program Files\\Intel\\", "PROCESSOR_LEVEL=6", "=C:=C:\\Users\\Ghost", "SystemDrive=C:", "TEMP=C:\\Users\\Ghost\\AppData\\Local\\Temp", "HOMEDRIVE=C:", "LOCALAPPDATA=C:\\Users\\Ghost\\AppData\\Local", "PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 94 Stepping 3, GenuineIntel", "NUMBER_OF_PROCESSORS=4", "=::=::\\", "ComSpec=C:\\WINDOWS\\system32\\cmd.exe", "AF_PATH=C:\\Program Files\\ArrayFire\\v3", "PROMPT=\$P\$G", "SystemRoot=C:\\WINDOWS", "OneDrive=C:\\Users\\Ghost\\OneDrive", "CONDA_DEFAULT_ENV=I:\\Julia\\Julia_pkgs\\v0.6\\Conda\\deps\\usr", "VBOX_MSI_INSTALL_PATH=C:\\Program Files\\Oracle\\VirtualBox\\", "JULIA_HOME=I:\\Julia\\Julia-0.6.0\\bin", "ProgramFiles(x86)=C:\\Program Files (x86)", "JULIA_NUM_THREADS=4", "JULIA_PKGDIR=I:\\Julia\\Julia_pkgs", "=ExitCode=00000000", "LOGONSERVER=\\\\DESKTOP-9PHTHQA", "CONDA_PREFIX=I:\\Julia\\Julia_pkgs\\v0.6\\Conda\\deps\\usr", "windir=C:\\WINDOWS", "FPS_BROWSER_USER_PROFILE_STRING=Default", "CommonProgramW6432=C:\\Program Files\\Common Files", "ProgramFiles=C:\\Program Files", "FPS_BROWSER_APP_PROFILE_STRING=Internet Explorer", "PROCESSOR_ARCHITECTURE=AMD64", "OPENBLAS_MAIN_FREE=1"]), ProcessExited(1)) [1]
Stacktrace:
 [1] pipeline_error(::Base.Process) at .\process.jl:682
 [2] run(::Cmd) at .\process.jl:651
 [3] add(::String) at I:\Julia\Julia_pkgs\v0.6\Conda\src\Conda.jl:210

I have no idea how to fix this and any help would be really appreciated!

Links to packages that are using Conda.jl?

Hi,
I am trying to get my head around exactly how to use Conda.jl
with BinDeps.

It would really help to have an example of it being used in a actual package.

It would thus be nice to have a link to one (or two) in the readme.

add(package, channel)?

It seems like it would be nice to be able to do Conda.add(package, channel) in order to run conda install -c channel package.

In particular, suppose that I only want to use a channel to install a particular package. In that case, do I really want to do Conda.add_channel(channel) to add the channel globally?

This came up in crbinz/SGP4.jl#5

Remove need for a miniconda installation ?

It could be feasible to parse directly the metadata in the info folder to resolve the dependencies directly in Julia.

Pro:

  • Remove the need for a full miniconda installation, and use less bandwidth;
  • (Maybe) faster operations, as their is no need to shell out commands, and only the needed code will be used;

Con:

  • Why rewrite the wheel?
  • Writing a correct package manager is hard.

With Julia master, build Conda fails with MINICONDA_VERSION not defined

In the last few days, Pkg.update() fails in

Julia Version 0.7.0-DEV.1165
Commit 1a43098cf7 (2017-07-31 03:33 UTC)

with

LoadError: UndefVarError: MINICONDA_VERSION not defined
while loading /home/colin/.julia/v0.7/Conda/deps/build.jl, in expression starting on line 13

I see that the build script looks for a file deps.jl which is not in the new directory structure but does exist in my deps directory. It appears that a definition is expected for MINICONDA_VERSION in the deps.jl but in my case there is only a definition for const ROOTENV. Any action necessary on my part?

Remove message that Outlook process was not found

On Windows I get this:

julia> using ExcelReaders
INFO: Precompiling module ExcelReaders...
INFO: Installing xlrd via the Conda package...
Get-Process : Cannot find a process with the name "Outlook". Verify the process name and call the cmdlet again.
At line:1 char:1
+ Get-Process Outlook
+ ~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (Outlook:String) [Get-Process], ProcessCommandException
    + FullyQualifiedErrorId : NoProcessFoundForGivenName,Microsoft.PowerShell.Commands.GetProcessCommand

Fetching package metadata: ....

This is on a system with no Outlook installed. The line that starts with get-process is red, indicating an error. Would be nice if that red output could somehow be suppressed. Not urgent, though, this is more aesthetic.

LoadError: Conda is not properly configured

I recently ran Pkg.update() and after this, Conda is not working. The error message tells me to run Pkg.build("Conda"), which only results in the same error message. Any ideas?

              _
   _       _ _(_)_     |  A fresh approach to technical computing
  (_)     | (_) (_)    |  Documentation: http://docs.julialang.org
   _ _   _| |_  __ _   |  Type "?help" for help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 0.5.0 (2016-09-19 18:14 UTC)
 _/ |\__'_|_|_|\__'_|  |  
|__/                   |  x86_64-redhat-linux

julia> Pkg.build("Conda")
ERROR: LoadError: Conda is not properly configured.  Run Pkg.build("Conda") before importing the Conda module.
 in macro expansion; at ./none:2 [inlined]
 in anonymous at ./<missing>:?
while loading /local/home/fredrikb/.julia/v0.5/Conda/src/Conda.jl, in expression starting on line 44
ERROR: LoadError: Failed to precompile Conda to /local/home/fredrikb/.julia/lib/v0.5/Conda.ji.
while loading /local/home/fredrikb/.juliarc.jl, in expression starting on line 142
ERROR: Build process failed.
 in (::Base.Pkg.Dir.##2#3{Array{Any,1},Base.Pkg.Entry.#build,Tuple{Array{String,1}}})() at ./pkg/dir.jl:31
 in cd(::Base.Pkg.Dir.##2#3{Array{Any,1},Base.Pkg.Entry.#build,Tuple{Array{String,1}}}, ::String) at ./file.jl:59
 in #cd#1(::Array{Any,1}, ::Function, ::Function, ::Array{String,1}, ::Vararg{Array{String,1},N}) at ./pkg/dir.jl:31
 in build(::String, ::Vararg{String,N}) at ./pkg/pkg.jl:236
 in eval_user_input(::Any, ::Base.REPL.REPLBackend) at ./REPL.jl:64
 in macro expansion at ./REPL.jl:95 [inlined]
 in (::Base.REPL.##3#4{Base.REPL.REPLBackend})() at ./event.jl:68

don't use Pkg.dir

You use Pkg.dir("Conda", ...) to find the package directory for the PREFIX. This is wrong, because it breaks in cases where the package was cloned into some other location—see JuliaLang/julia#12120

The right thing to do is to use dirname(@__FILE__) to get the path of the current file.

Failed to launch process

Hi,
I just installed Julia v0.4 on Windows 7 and then I tried to add the IJulia package. The process failed and I found out that the Conda package might be the reason. After installing Conda and trying to use any of its utilities (e.g. Conda.list()) I get a "failed to create process" message.

Do you have any clue on what could be the reason?

Thanks

MINICONDA_VERSION not defined

Hi, I'm having an issue with building Conda. The console returns error messages like this:

====================================================[ ERROR: Conda ]====================================================

LoadError: UndefVarError: MINICONDA_VERSION not defined
while loading C:\Users\ekim7\.julia\v0.6\Conda\deps\build.jl, in expression starting on line 13

========================================================================================================================

anyone having idea on this issue?

The silent miniconda setup crashes Outlook on Windows

This is really bad, because it can lead to real data loss in Outlook (for example if you have composed a long email but haven't saved/sent it yet). I reported the problem previously at conda/conda#1084, but no reaction there. The issue in the conda repo also points to some discussion of this bug on some mailing list that others have encountered, the root problem seems to be an NSIS problem.

@stevengj This now also affects PyPlot and IJulia, both packages now crash Outlook when you add them (i.e. when the Conda build.jl script runs). When I previously worked on my version of a private Python setup for IJulia, that was the point when everyone agreed that this was unacceptable behavior, and then I worked on a setup that doesn't use miniconda, but a private Python install and used pip instead. I think at this point both IJulia and PyPlot should probably drop the dependency on Conda until this issue is fixed.

Support in ScikitLearn.jl

Hey, thanks for the heads up regarding the latest update. ScikitLearn.jl no longer requires the Python library, though it's a (very useful) optional dependency. Can I tell my users to enter import Conda; Conda.add("scikit-learn") and it will Just Work?

Conda gets confused by CONDA environment variables

I have been playing with Conda on my machine, where I also have Anaconda installed globally. My understanding is that the global Anaconda should not interact with Conda, which is intended to be a "private" Julia miniconda installation.

However, if I've activated Python 3 in my global Anaconda environment, it sets environment variables CONDA_ENV_PATH=/Users/stevenj/anaconda/envs/py3 and CONDA_DEFAULT_ENV=py3. These seem to interact badly with Conda.jl, e.g. I get

julia> Conda.add("jupyter")
Fetching package metadata: ....
Error: environment does not exist: /Users/stevenj/.julia/v0.5/Conda/deps/usr/envs/py3
#
# Use 'conda create' to create an environment before installing packages
# into it.
#
ERROR: failed process: Process(`/Users/stevenj/.julia/v0.5/Conda/deps/usr/bin/conda install -y jupyter`, ProcessExited(1)) [1]
 in run at ./process.jl:531
 in add at /Users/stevenj/.julia/v0.5/Conda/src/Conda.jl:114

Suggestion: run the conda program in a "sanitized" environment. e.g. just use

setenv(`conda ....`, ASCIIString[])

to create a version of a conda command with all environment variables removed.

Conda.jl use an already installed version of mini/ana-conda

I already have conda as my default python, will Conda.jl find this? If not, could it?

Either way it would be great to mention this in the documentation/README.

Perhaps also useful would be the example of how to install ipython/pycall.

OpenSSL error on Linux

I am seeing this strange error on a Linux machine on julia-0.4. After a fresh install of Conda I can add a package, which triggers upgrades for other packages (including openssl). After that I keep getting SSL errors when fetching package metadata. This is probably hard to solve I just put it here in case anyone has ideas how to solve.

  _       _ _(_)_     |  A fresh approach to technical computing
  (_)     | (_) (_)    |  Documentation: http://docs.julialang.org
   _ _   _| |_  __ _   |  Type "?help" for help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 0.4.0-rc1+33 (2015-09-13 16:27 UTC)
 _/ |\__'_|_|_|\__'_|  |  Commit a0fa6af* (10 days old release-0.4)
|__/                   |  x86_64-linux-gnu

julia> Pkg.rm("Conda")
INFO: Installing Conda v0.1.5
INFO: Building Conda
INFO: Downloading miniconda installer ...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 22.4M  100 22.4M    0     0  1248k      0  0:00:18  0:00:18 --:--:-- 1499k
INFO: Installing miniconda ...
PREFIX=/home/fabian/.julia/v0.4/Conda/deps/usr
installing: python-2.7.9-1 ...
installing: conda-env-2.1.3-py27_0 ...
installing: openssl-1.0.1k-0 ...
installing: pycosat-0.6.1-py27_0 ...
installing: pyyaml-3.11-py27_0 ...
installing: readline-6.2-2 ...
installing: requests-2.5.3-py27_0 ...
installing: sqlite-3.8.4.1-0 ...
installing: system-5.8-1 ...
installing: tk-8.5.15-0 ...
installing: yaml-0.1.4-0 ...
installing: zlib-1.2.8-0 ...
installing: conda-3.9.1-py27_0 ...
Python 2.7.9 :: Continuum Analytics, Inc.
creating default environment...
installation finished.
INFO: Package database updated

julia> using Conda

julia> Conda.add("libnetcdf")
Fetching package metadata: ....
Solving package specifications: .
Package plan for installation in environment /home/fabian/.julia/v0.4/Conda/deps/usr:

The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    krb5-1.13.2                |                0         3.5 MB
    openssl-1.0.1k             |                1         2.6 MB
    sqlite-3.8.4.1             |                1         2.5 MB
    tk-8.5.18                  |                0         1.9 MB
    yaml-0.1.6                 |                0         246 KB
    curl-7.43.0                |                1         550 KB
    hdf5-1.8.15.1              |                1         1.8 MB
    libnetcdf-4.3.3.1          |                1         900 KB
    conda-env-2.4.2            |           py27_0          24 KB
    python-2.7.10              |                1        12.0 MB
    pyyaml-3.11                |           py27_1         295 KB
    requests-2.7.0             |           py27_0         594 KB
    setuptools-18.1            |           py27_0         341 KB
    wheel-0.26.0               |           py27_0          75 KB
    conda-3.17.0               |           py27_0         172 KB
    pip-7.1.2                  |           py27_0         1.4 MB
    ------------------------------------------------------------
                                           Total:        28.8 MB

The following NEW packages will be INSTALLED:

    curl:       7.43.0-1     
    hdf5:       1.8.15.1-1   
    krb5:       1.13.2-0     
    libnetcdf:  4.3.3.1-1    
    pip:        7.1.2-py27_0 
    setuptools: 18.1-py27_0  
    wheel:      0.26.0-py27_0

The following packages will be UPDATED:

    conda:      3.9.1-py27_0 --> 3.17.0-py27_0
    conda-env:  2.1.3-py27_0 --> 2.4.2-py27_0 
    openssl:    1.0.1k-0     --> 1.0.1k-1     
    python:     2.7.9-1      --> 2.7.10-1     
    pyyaml:     3.11-py27_0  --> 3.11-py27_1  
    requests:   2.5.3-py27_0 --> 2.7.0-py27_0 
    sqlite:     3.8.4.1-0    --> 3.8.4.1-1    
    tk:         8.5.15-0     --> 8.5.18-0     
    yaml:       0.1.4-0      --> 0.1.6-0      

Fetching packages ...
krb5-1.13.2-0. 100% |################################| Time: 0:00:02   1.28 MB/s
openssl-1.0.1k 100% |################################| Time: 0:00:03 806.56 kB/s
sqlite-3.8.4.1 100% |################################| Time: 0:00:02   1.12 MB/s
tk-8.5.18-0.ta 100% |################################| Time: 0:00:02 734.37 kB/s
yaml-0.1.6-0.t 100% |################################| Time: 0:00:00 424.11 kB/s
curl-7.43.0-1. 100% |################################| Time: 0:00:01 545.60 kB/s
hdf5-1.8.15.1- 100% |################################| Time: 0:00:02 784.82 kB/s
libnetcdf-4.3. 100% |################################| Time: 0:00:00   1.02 MB/s
conda-env-2.4. 100% |################################| Time: 0:00:00 176.25 kB/s
python-2.7.10- 100% |################################| Time: 0:00:08   1.41 MB/s
pyyaml-3.11-py 100% |################################| Time: 0:00:00 522.46 kB/s
requests-2.7.0 100% |################################| Time: 0:00:00 738.44 kB/s
setuptools-18. 100% |################################| Time: 0:00:00 502.36 kB/s
wheel-0.26.0-p 100% |################################| Time: 0:00:00 261.26 kB/s
conda-3.17.0-p 100% |################################| Time: 0:00:00 384.75 kB/s
pip-7.1.2-py27 100% |################################| Time: 0:00:01 907.56 kB/s
Extracting packages ...
[      COMPLETE      ] |##################################################| 100%
Unlinking packages ...
[      COMPLETE      ] |##################################################| 100%
Linking packages ...
[      COMPLETE      ] |##################################################| 100%

julia> Conda.search("libnetcdf")
0-element Array{AbstractString,1}

julia> Conda.add("libnetcdf")
Fetching package metadata: SSL verification error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)
.SSL verification error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)
.SSL verification error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)
.SSL verification error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)
.
Error: No packages found in current linux-64 channels matching: libnetcdf

You can search for this package on anaconda.org with

    anaconda search -t conda libnetcdf

You may need to install the anaconda-client command line client with

    conda install anaconda-client
ERROR: failed process: Process(`/home/fabian/.julia/v0.4/Conda/deps/usr/bin/conda install -y libnetcdf`, ProcessExited(1)) [1]
 in run at ./process.jl:524
 in add at /home/fabian/.julia/v0.4/Conda/src/Conda.jl:101

Can't pyimport ssl

I've traced an unrelated issue back to the ssl package. For some reason I can import ssl from the python executable in the Conda.jl directory, but it errors when I try to: using PyCall; pyimport("ssl")

Any ideas would be greatly appreciated! Here's the full output:

tom@tom-desktop:~/.julia/v0.5/Plots$ ~/.julia/v0.5/Conda/deps/usr/bin/python
Python 2.7.12 |Continuum Analytics, Inc.| (default, Jul  2 2016, 17:42:40) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org
>>> import ssl
>>> 
KeyboardInterrupt
>>> 
tom@tom-desktop:~/.julia/v0.5/Plots$ julia
               _
   _       _ _(_)_     |  A fresh approach to technical computing
  (_)     | (_) (_)    |  Documentation: http://docs.julialang.org
   _ _   _| |_  __ _   |  Type "?help" for help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 0.5.1-pre+27 (2016-11-04 08:41 UTC)
 _/ |\__'_|_|_|\__'_|  |  Commit 25f7066 (24 days old release-0.5)
|__/                   |  x86_64-linux-gnu

julia> using PyCall; pyimport("ssl")
ERROR: PyError (:PyImport_ImportModule) <type 'exceptions.ImportError'>
ImportError('/home/tom/.julia/v0.5/Conda/deps/usr/lib/python2.7/lib-dynload/_ssl.so: undefined symbol: SSLv2_method',)
  File "/home/tom/.julia/v0.5/Conda/deps/usr/lib/python2.7/ssl.py", line 97, in <module>
    import _ssl             # if we can't import it, let the error propagate

 in pyerr_check at /home/tom/.julia/v0.5/PyCall/src/exception.jl:56 [inlined]
 in pyerr_check at /home/tom/.julia/v0.5/PyCall/src/exception.jl:61 [inlined]
 in macro expansion at /home/tom/.julia/v0.5/PyCall/src/exception.jl:81 [inlined]
 in pyimport(::String) at /home/tom/.julia/v0.5/PyCall/src/PyCall.jl:387

Endless miniconda install loop

move from here: JuliaPy/PyCall.jl#379

seems something wired happens in C:\JuliaPro-0.5.2.2\pkgs-0.5.2.2\v0.5\Conda\src\conda.jl, around line 186:

if is_windows()
if VERSION >= v"0.5.0-dev+8873" # Julia PR #13780
run(Cmd($installer /S /AddToPath=0 /RegisterPython=0 /D=$PREFIX, windows_verbatim=true))
else
# Workaround a bug in command-line argument parsing, see
# Luthaf/Conda.jl#17
if match(r" {2,}", "") != nothing
error("The installer will fail when the path="$PREFIX" contains two consecutive spaces")
end
run($installer /S /AddToPath=0 /RegisterPython=0 $(split("/D=$PREFIX")))
end
end

I checked the install.exe downloaded, it can be installed manually.
C:\JuliaPro-0.5.2.2\pkgs-0.5.2.2\v0.5\Conda\deps\usr>installer.exe /AddToPath=0 /RegisterPython=0 /D="C:\JuliaPro-0.5.2.2\pkgs-0.5.2.2\v0.5\Conda\deps\usr".

Then re-run Pkg.build("PyCall"), the miniconda download-install loop can be bypassed.

A Documented/Preferred way of installing PyPi dependencies

So Conda (unlike anaconda) can not install dependencies using PyPi, as a source.
(AFAICT, after an afternoon of looking).

I believe the docs currently suggest creating a Conda package and uploading it to binstar.org.

Which is actually rather annoying to do, since now you are maintaining a distribution channel for your dependencies -- you don't get updated when the providers do them, you have to make sure it works on all platforms etc.
It is unfun.

So currently my work around for installing things, is to automate how I would do it manually.
Which is: tell Conda to install pip, then have pip install other things. (
Inspired by #30 (comment))

https://github.com/oxinabox/SwiftObjectStores.jl/blob/fee6a7bdd6d4b9a1a6865b95f4629d919a28947b/deps/build.jl

Is this the best way? If so, it should be documented.
If not, a better way should be documented.

There are a lot of python libraries in PyPi, that are not in any Conda channel, that I trust to keep them up-to-date, and with it all working for all OS's.

As far as I can tell, PyCall.py_import_conda, does not help here, since it only downloads things from Conda channels.

Please tag a version

The latest tagged version has deprecation warnings on julia 0.5, master doesn't. Would be nice to clean up packages as quickly as possible for the julia 0.5 release.

Issues installing Conda

I get some error when trying to install ``Conda`

julia> Pkg.add("Conda")
INFO: Initializing package repository C:\Users\dho\.julia\v0.4
INFO: Cloning METADATA from git://github.com/JuliaLang/METADATA.jl
INFO: Cloning cache of BinDeps from git://github.com/JuliaLang/BinDeps.jl.git
INFO: Cloning cache of Compat from git://github.com/JuliaLang/Compat.jl.git
INFO: Cloning cache of Conda from git://github.com/Luthaf/Conda.jl.git
INFO: Cloning cache of Dates from git://github.com/quinnj/Dates.jl.git
INFO: Cloning cache of HttpCommon from git://github.com/JuliaWeb/HttpCommon.jl.g
it
INFO: Cloning cache of JSON from git://github.com/JuliaLang/JSON.jl.git
INFO: Cloning cache of SHA from git://github.com/staticfloat/SHA.jl.git
INFO: Cloning cache of URIParser from git://github.com/JuliaWeb/URIParser.jl.git

INFO: Installing BinDeps v0.3.15
INFO: Installing Compat v0.6.0
INFO: Installing Conda v0.1.1
INFO: Installing Dates v0.4.4
INFO: Installing HttpCommon v0.1.2
INFO: Installing JSON v0.4.5
INFO: Installing SHA v0.1.1
INFO: Installing URIParser v0.0.7
INFO: Building Conda
INFO: Precompiling module Compat...
INFO: Precompiling module URIParser...
INFO: Precompiling module SHA...
INFO: Downloading miniconda installer .
================================[ ERROR: Conda ]================================


LoadError: LoadError: InitError: could not spawn `'C:\Users\dho\.julia\v0.4\Cond
a\deps\usr\installer' -b -f -p 'C:\Users\dho\.julia\v0.4\Conda\deps\usr'`: no su
ch file or directory (ENOENT)
during initialization of module Conda
while loading C:\Users\dho\.julia\v0.4\Conda\src\Conda.jl, in expression startin
g on line 349
while loading C:\Users\dho\.julia\v0.4\Conda\deps\build.jl, in expression starti
ng on line 1

================================================================================


================================[ BUILD ERRORS ]================================


WARNING: Conda had build errors.

 - packages with build errors remain installed in C:\Users\dho\.julia\v0.4
 - build the package(s) and all dependencies with `Pkg.build("Conda")`
 - build a single package by running its `deps/build.jl` script

================================================================================

INFO: Package database updated

My version info is:
`
julia> versioninfo()
Julia Version 0.4.0-pre+7133
Commit 0f7dee9 (2015-09-01 22:04 UTC)
Platform Info:
System: Windows (x86_64-w64-mingw32)
CPU: Intel(R) Core(TM) i7-4700MQ CPU @ 2.40GHz
WORD_SIZE: 64
BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Haswell)
LAPACK: libopenblas
LIBM: libopenlibm
LLVM: libLLVM-3.3

julia>

Cannot invoke conda (failed process)

Every call to conda, fails with the error as below. I just reinstalled conda and have the same issue.
When I call conda from the shell:

~/.julia/v0.6/Conda/deps/usr/bin/conda --version

I get no error message and the command returns directly (without printing the version number). I just get an return code 1:

$ echo $?
1

Any ideas what could be wrong?

Thanks a lot!

julia> using Conda

julia> Conda.list()
ERROR: failed process: Process(setenv(`/home/abarth/.julia/v0.6/Conda/deps/usr/bin/conda list`,String["PATH=/home/abarth/opt/julia-0.6.0/bin/:/home/abarth/bin:/home/abarth/matlab/bin:/home/abarth/.local/bin:/home/abarth/opt/julia-0.6.0/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games", "SESSION=gnome", "EDITOR=emacs", "TEXTDOMAIN=im-config", "DEFAULTS_PATH=/usr/share/gconf/gnome.default.path", "UPSTART_SESSION=unix:abstract=/com/ubuntu/upstart-session/1000/2925", "DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-FWnJPwT99X", "MANPATH=/usr/share/man:", "USER=abarth", "XDG_CONFIG_DIRS=/etc/xdg/xdg-gnome:/usr/share/upstart/xdg:/etc/xdg", "LC_NUMERIC=en_IE.UTF-8", "QT_IM_MODULE=ibus", "LESSCLOSE=/usr/bin/lesspipe %s %s", "LC_TIME=en_IE.UTF-8", "LC_MEASUREMENT=en_IE.UTF-8", "SESSIONTYPE=gnome-session", "USERNAME=abarth", "INSTANCE=", "GDMSESSION=gnome", "LC_TELEPHONE=en_IE.UTF-8", "CLUTTER_IM_MODULE=xim", "XDG_DATA_DIRS=/usr/share/gnome:/usr/local/share/:/usr/share/", "LESSOPEN=| /usr/bin/lesspipe %s", "SHELL=/bin/bash", "GJS_DEBUG_OUTPUT=stderr", "HISTFILESIZE=10000000", "XDG_SEAT=seat0", "XAUTHORITY=/var/run/gdm/auth-for-abarth-WHFNGd/database", "XDG_MENU_PREFIX=gnome-", "CONDARC=/home/abarth/.julia/v0.6/Conda/deps/usr/condarc-julia.yml", "PS1=\\[\\033]0;\\w\\007\\033[32m\\]\\h:\\[\\033[31m\\w\\033[0;34m\\]\$(__git_ps1 \" (%s)\") \\[\\033[0m\\] \n\$ ", "GTK_MODULES=overlay-scrollbar", "GNOME_KEYRING_PID=2922", "GTK_IM_MODULE=ibus", "SESSION_MANAGER=local/gher17:@/tmp/.ICE-unix/3080,unix/gher17:/tmp/.ICE-unix/3080", "QT_QPA_PLATFORMTHEME=appmenu-qt5", "XMODIFIERS=emacs", "TERM=xterm", "HOME=/home/abarth", "COLORTERM=gnome-terminal", "VTE_VERSION=3409", "HISTSIZE=10000000", "IM_CONFIG_PHASE=1", "COMP_WORDBREAKS= \t\n\"'><;|&(:", "XDG_CURRENT_DESKTOP=GNOME", "LANG=en_US.UTF-8", "SHLVL=1", "GNOME_DESKTOP_SESSION_ID=this-is-deprecated", "LC_MONETARY=en_IE.UTF-8", "LOGNAME=abarth", "XDG_RUNTIME_DIR=/run/user/1000", "SSH_AUTH_SOCK=/run/user/1000/keyring-YntqN4/ssh", "DESKTOP_SESSION=gnome", "GDM_LANG=en_US", "LC_PAPER=en_IE.UTF-8", "LC_ADDRESS=en_IE.UTF-8", "OLDPWD=/home/abarth/projects/Julia/share", "_=/home/abarth/opt/julia-0.6.0/bin/julia", "CONDA_DEFAULT_ENV=/home/abarth/.julia/v0.6/Conda/deps/usr", "GPG_AGENT_INFO=/run/user/1000/keyring-YntqN4/gpg:0:1", "SELINUX_INIT=YES", "PWD=/home/abarth/projects/Julia", "DISPLAY=:0", "GJS_DEBUG_TOPICS=JS ERROR;JS LOG", "XDG_VTNR=7", "WINDOWID=48234503", "MANDATORY_PATH=/usr/share/gconf/gnome.mandatory.path", "XDG_SESSION_ID=c4", "TEXTDOMAINDIR=/usr/share/locale/", "LC_NAME=en_IE.UTF-8", "CONDA_PREFIX=/home/abarth/.julia/v0.6/Conda/deps/usr", "LC_IDENTIFICATION=en_IE.UTF-8", "QT4_IM_MODULE=xim", "WINDOWPATH=7", "LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:", "JOB=dbus", "GNOME_KEYRING_CONTROL=/run/user/1000/keyring-YntqN4", "OPENBLAS_MAIN_FREE=1"]), ProcessExited(1)) [1]
Stacktrace:
 [1] pipeline_error(::Base.Process) at ./process.jl:682
 [2] run(::Cmd) at ./process.jl:651
 [3] runconda(::Cmd, ::String) at /home/abarth/.julia/v0.6/Conda/src/Conda.jl:131
 [4] list() at /home/abarth/.julia/v0.6/Conda/src/Conda.jl:250

julia> versioninfo()
Julia Version 0.6.0
Commit 9036443 (2017-06-19 13:05 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: Intel(R) Core(TM) i3-3120M CPU @ 2.50GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Sandybridge)
  LAPACK: libopenblas64_
  LIBM: libopenlibm
  LLVM: libLLVM-3.9.1 (ORCJIT, ivybridge)

julia> Pkg.in
init      installed
julia> Pkg.installed()["Conda"]
v"0.5.3"

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.