Good question! So we've had a lot of feedback th...
# advanced-need-help
d
Good question! So we've had a lot of feedback that the install flow was confusing to users. That's because we're doing a few things behind the scenes like
pip-tools compile
,
requirements.in
+
requirements.txt
so
kedro install
In the next major version things will be simplified into the following: 1.
kedro build-reqs
is still going to prepare
src/requirements.txt
so that the dependencies are fully resolved. 2. We then recommend running
pip install -r src/requirements.txt
to install your compiled dependencies. I'm pretty sure
conda install
will work here too, but we do know that conda sometimes has issues with the kedro optional dependencies like
pip install "kedro[pandas]"
.
e
Cool! I think I've got it set up pretty slick
Copy code
yaml
name: groseq-analysis
channels:
  - r
  - conda-forge
  - bioconda
dependencies:
  - python=3.7
  - pip
  - pip:
    - -r requirements.txt
  # Extras
  - r-base
  - rpy2
  - r-r.utils
  - r-essentials
  - bioconductor-genomicranges
  - bioconductor-genomicscores
  - bioconductor-phastCons100way.UCSC.hg19
So the requirements.txt is untouched for now from
kedro new
K I gave it a run on my work laptop with WSL, it's just a nixos issue I'm guessing, which I'd think conda would fix but oh well 🙃 I'll make a PR with some examples once I play more with it!
d
amazing!
thank you
a
FYI
kedro install
currently does (badly) a conda update from environment.yml. In 0.18 when
kedro install
is removed, if you want to use conda you'll need to write the
conda install
command yourself - that should work exactly the same as it does now if you're already doing it that way
a
@User Is there any reason that Kedro doesn't use something like Poetry as the package manager and dependency resolver? I felt it was really easy to incorporate in my flow and it nicely packages the requirements in the
pyproject.toml
d
Hi @User it’s something we may experiment with in the future, but I think the general answer is that we try to introduce the user to the smallest amount of things. As @antony.milne says we’re going to remove
kedro install
in the next version and basically just provide the
build-reqs
functionality. Lastly, there is nothing stopping you using poetry - but it does make it easier for us in the dev team having a flow we can support easily.
a
We did look into using poetry about 18 months ago and there were some compatibility issues (I can probably find the details if you're interested). I would like us to look into it again though to see if it's a possibility now since it sounded great and we're moving other stuff to pyproject.toml