# Install dependencies through pip

**URL:** <https://discourse.julialang.org/t/install-dependencies-through-pip/18541>\
**Category:** General Usage\
**Created:** [December 10, 2018, 10:16pm UTC](https://discourse.julialang.org/t/install-dependencies-through-pip/18541 "2018-12-10T22:16:12Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![charlesll](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/charlesll/32/3255_2.png) [@charlesll](https://discourse.julialang.org/u/charlesll)\
**Post date:** [December 10, 2018, 10:16pm UTC](https://discourse.julialang.org/t/install-dependencies-through-pip/18541/1 "2018-12-10T22:16:12Z")

</div>

Hi,

I’ve been preparing my [package](https://github.com/charlesll/Spectra.jl) for Julia 1.0. Nearly finished but I am left with one problem: I had a [dependency](https://github.com/charlesll/gcvspline) installed through pip via [a build.jl script](https://github.com/charlesll/Spectra.jl/blob/master/deps/build.jl), it was actually working well in Julia 0.6. Now it seems that it does not work anymore… at least if does not build properly on Travis.

I’ve search the forum, there is a old threat from early 2017 that advised doing a conda-forge build. I know this will be a very nice solution because it will actually allow me to get rid of Fortran compilation problems in Python too. But I have absolutely no experience and also no time for doing that…

Does anyone have any insights of how I could make that work again? (or even is experience with conda-forge and willing to give it a try for gcvspline?)

Thanks in advance!  
C.

---

<div class="post-metadata">

**Author:** ![stevengj](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stevengj/32/71_2.png) [@stevengj](https://discourse.julialang.org/u/stevengj)\
**Post date:** [December 10, 2018, 10:54pm UTC](https://discourse.julialang.org/t/install-dependencies-through-pip/18541/2 "2018-12-10T22:54:27Z")

</div>

Why not just use Conda.jl to install it via conda-forge?

```julia
using Conda
Conda.add_channel("conda-forge")
Conda.add("spectra")

```

---

<div class="post-metadata">

**Author:** ![crbinz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/crbinz/32/1919_2.png) [@crbinz](https://discourse.julialang.org/u/crbinz)\
**Post date:** [December 11, 2018, 12:33am UTC](https://discourse.julialang.org/t/install-dependencies-through-pip/18541/3 "2018-12-11T00:33:49Z")

</div>

Here’s the [relevant `Conda` issue](https://github.com/JuliaPy/Conda.jl/issues/50) for installing dependencies with `pip`, at least.

---

<div class="post-metadata">

**Author:** ![tkf](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tkf/32/17635_2.png) [@tkf](https://discourse.julialang.org/u/tkf)\
**Post date:** [December 11, 2018, 1:07am UTC](https://discourse.julialang.org/t/install-dependencies-through-pip/18541/4 "2018-12-11T01:07:35Z")

</div>

It looks like `gcvspline` is not in `conda-forge` so I guess you need:

```julia
using Conda
Conda.add_channel("charlesll")
Conda.add("gcvspline")

```

(see [https://github.com/charlesll/gcvspline#installation](https://github.com/charlesll/gcvspline#installation))

Not sure why your build script does not work but comments on:

> <https://github.com/charlesll/Spectra.jl/blob/20e67f610aa9fb1518bc671ac3e4238955bf0686/deps/build.jl#L27-L28>

If `PyCall.python` is installed via `conda`, maybe it’s safer to…

- upgrade `pip` and `setuptools` using `conda`
- not use `--user`

---

<div class="post-metadata">

**Author:** ![charlesll](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/charlesll/32/3255_2.png) [@charlesll](https://discourse.julialang.org/u/charlesll)\
**Post date:** [December 11, 2018, 4:51am UTC](https://discourse.julialang.org/t/install-dependencies-through-pip/18541/5 "2018-12-11T04:51:27Z")

</div>

Thanks!

Your first solution will unfortunately not work on all systems because I only added a Linux 64 bit Conda version a long time ago for gcvspline (I am the maintainer of gcvspline)… I need to work on doing a conda-forge build but I do not have the time to do that now.

I will try the second thing and see if it solves the problem for now.

---

<div class="post-metadata">

**Author:** ![charlesll](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/charlesll/32/3255_2.png) [@charlesll](https://discourse.julialang.org/u/charlesll)\
**Post date:** [December 11, 2018, 4:53am UTC](https://discourse.julialang.org/t/install-dependencies-through-pip/18541/6 "2018-12-11T04:53:18Z")

</div>

Because it’s not on conda-forge but on PyPI. (Also the dependency is gcvspline, not Spectra that is the Julia library)

---

<div class="post-metadata">

**Author:** ![tkf](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tkf/32/17635_2.png) [@tkf](https://discourse.julialang.org/u/tkf)\
**Post date:** [December 11, 2018, 5:41am UTC](https://discourse.julialang.org/t/install-dependencies-through-pip/18541/7 "2018-12-11T05:41:38Z")

</div>

Oops. Sorry, I didn’t notice your username. Don’t mean to rude 🙂

---

<div class="post-metadata">

**Author:** ![charlesll](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/charlesll/32/3255_2.png) [@charlesll](https://discourse.julialang.org/u/charlesll)\
**Post date:** [December 11, 2018, 10:34pm UTC](https://discourse.julialang.org/t/install-dependencies-through-pip/18541/8 "2018-12-11T22:34:43Z")

</div>

No worries it was not that explicit 🙂
