I just released the package ASDF.jl. I was using it in another project by pointing to its Github repository, and this worked fine. Now that it has been released (without any other changes), it doesn’t build any more.
The error is:
(HelloWorld) pkg> build ASDF
Building ASDF → `~/.julia/packages/ASDF/6FkAs/deps/build.log`
┌ Error: Error building `ASDF`:
│ ERROR: LoadError: ArgumentError: Package PyCall not found in current path:
│ - Run `import Pkg; Pkg.add("PyCall")` to install the PyCall package.
The PyCall package is definitively listed in ASDF’s Project.toml:
name = "ASDF"
uuid = "c960a2f4-9f0f-11e8-3f7c-470e5e0ab716"
authors = ["Erik Schnetter <schnetter@gmail.com>"]
version = "1.0.1"
[deps]
Conda = "8f4d0f93-b110-5947-807f-2305c1781a2d"
PyCall = "438e738f-606a-5dbb-bf0a-cddfbfd45ab0"
URIParser = "30578b45-9adc-5946-b283-645ec420af67"
[extras]
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
[targets]
test = ["Test"]
Unfortunately, correct REQUIRE files are still needed until the transition to only using Project files is complete. So you would need to add PyCall & co to your REQUIRE file and tag a new version
No, that is very much intended. Add the package you want to use, don’t rely on other packages bringing them in as a side effect (maybe in the future they won’t depend on them anymore).
I don’t need PyCall directly. The point is that PyPlot didn’t work without me adding PyCall manually.
But that might be because I was in an IJulia session instead of the REPL? I’ll try to reproduce
using Plots
pyplot()
┌ Info: Precompiling PyPlot [d330b81b-6aea-500a-939a-2ce795aea3ee]
└ @ Base loading.jl:1189
┌ Info: Installing matplotlib via the Conda matplotlib package...
└ @ PyCall /Users/ken/.julia/packages/PyCall/rUul9/src/PyCall.jl:653
┌ Info: Running `conda install -y matplotlib` in root environment
└ @ Conda /Users/ken/.julia/packages/Conda/hsaaN/src/Conda.jl:112
Solving environment: ...working... done
matplotlib-3.0.0 | 6.8 MB | ########## | 100%
cycler-0.10.0 | 14 KB | ########## | 100%
pyparsing-2.2.2 | 97 KB | ########## | 100%
pytz-2018.5 | 231 KB | ########## | 100%
kiwisolver-1.0.1 | 56 KB | ########## | 100%
freetype-2.9.1 | 864 KB | #######5 | 76%
## Package Plan ##
environment location: /Users/ken/.julia/packages/Conda/hsaaN/deps/usr
added / updated specs:
- matplotlib
The following packages will be downloaded:
package | build
---------------------------|-----------------
matplotlib-3.0.0 | py37h54f8f79_0 6.8 MB
cycler-0.10.0 | py37_0 14 KB
pyparsing-2.2.2 | py37_0 97 KB
pytz-2018.5 | py37_0 231 KB
kiwisolver-1.0.1 | py37h0a44026_0 56 KB
freetype-2.9.1 | hb4e5f40_0 864 KB
------------------------------------------------------------
Total: 8.0 MB
The following NEW packages will be INSTALLED:
cycler: 0.10.0-py37_0
freetype: 2.9.1-hb4e5f40_0
kiwisolver: 1.0.1-py37h0a44026_0
matplotlib: 3.0.0-py37h54f8f79_0
pyparsing: 2.2.2-py37_0
pytz: 2018.5-py37_0
Downloading and Extracting Packages
Preparing transaction: ...working...
freetype-2.9.1 | 864 KB | ########## | 100%
done
Verifying transaction: ...working... done
Executing transaction: ...working... done
Fontconfig warning: ignoring UTF-8: not a valid region tag
ArgumentError: Package PyCall not found in current path:
- Run `import Pkg; Pkg.add("PyCall")` to install the PyCall package.
Stacktrace:
[1] require(::Module, ::Symbol) at ./loading.jl:820
[2] top-level scope at /Users/ken/.julia/packages/Plots/7o1Vu/src/backends.jl:389
[3] eval at ./boot.jl:319 [inlined]
[4] _initialize_backend(::Plots.PyPlotBackend) at /Users/ken/.julia/packages/Plots/7o1Vu/src/backends.jl:388
[5] backend(::Plots.PyPlotBackend) at /Users/ken/.julia/packages/Plots/7o1Vu/src/backends.jl:196
[6] backend(::Symbol) at /Users/ken/.julia/packages/Plots/7o1Vu/src/backends.jl:209
[7] pyplot() at /Users/ken/.julia/packages/Plots/7o1Vu/src/backends.jl:29
[8] top-level scope at In[10]:2
EDIT: if this is another issue and I’m hijacking this thread, apologies and please split into a new one
EDIT2: I can only replicate on the REPL with Plots, not PyPlot directly:
Because this happened during after a package build and gave the same PyCall error, I thought this might be related to the original issue, but it probably isn’t. Don’t mind me then, carry on