Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DOC: add instructions for using conda when installing code for development #6399

Merged
merged 5 commits into from
Jul 13, 2020
Merged

DOC: add instructions for using conda when installing code for development #6399

merged 5 commits into from
Jul 13, 2020

Conversation

raybellwaves
Copy link
Member

  • [NA] Tests added / passed
  • [NA] Passes black dask / flake8 dask

Closes #6398

Is this the preferred .yaml file? There are a couple in https://github.com/dask/dask/tree/master/continuous_integration

Here's what it looks like:

image

Copy link
Member

@jcrist jcrist left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for working on this, just a few comments.


python -m pip install pytest moto
conda env create -f continuous_integration/environment-3.8-dev.yaml
conda activate test-environment
Copy link
Member

@jcrist jcrist Jul 11, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This won't install dask though, just the dependencies. You'll need to add something like the following after activating the environment:

python -m pip install --no-deps -e .

have these libraries, don't care to use them, or have sufficient build
environment on your computer to compile them when installing with ``pip``::
To build the library you can install the necessary requirements using
``pip`` or ``conda``::
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps make conda a link to https://conda.io?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stupid question you know to hyperlink code format e.g. conda<https://conda.io>_ doesn't work

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think rst supports this. I wouldn't put it in code format, I'd leave it as a normal link.


python -m pip install pytest moto
conda env create -f continuous_integration/environment-3.8-dev.yaml
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I usually use this method, however we will have to keep this reference to the latest Python version up-to-date if we explicitly call it out in the docs. Perhaps the Python version should be removed from the env file name and just say latest?

You may also want to add --name=dask-dev to give the conda environment a more descriptive name.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think git can store symlinks? Maybe add a symlink to the folder, which we can update when new environments are added?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it worth creating a new yaml file called `environment-latest-dev.yaml? i.e. can specify dask-dev in the name https://github.com/dask/dask/blob/master/continuous_integration/environment-3.8-dev.yaml#L2

Any idea how to setup the latest python version in the yaml? https://github.com/dask/dask/blob/master/continuous_integration/environment-3.8-dev.yaml#L7
Or keep it at 3.8.* until it eventually switches to 3.9.*

Copy link
Member

@jcrist jcrist Jul 11, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using one of our test environments we use as part of CI is the best way to guarantee that a developer's system matches our test system. I'd rather not create a new file that could get out of date - using one that we use for CI is the easiest for us to maintain.

Users can always override the name of the environment with a -n flag on conda env create, so having the name be dask-dev in the environment file doesn't really matter.

  conda env create -n dask-dev -f continuous_integration/environment-3.8.yaml

I missed earlier though, we probably don't want to use environment-3.8-dev.yaml though, since that's for testing against upstream versions of pandas/numpy. Rather we should use environment-3.8.yaml.

To keep the change minimal, could you add a symlink to that file at environment-latest.yaml? We can bump the symlink when we increment our CI versions.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 for symlink

Copy link
Contributor

@gforsyth gforsyth left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good. Thanks for putting this in @raybellwaves ! @dask/maintenance this can be merged in.

@jcrist jcrist merged commit ffc8881 into dask:master Jul 13, 2020
kumarprabhu1988 pushed a commit to kumarprabhu1988/dask that referenced this pull request Oct 29, 2020
…pment (dask#6399)

* DOC: add env to code install

* remove conda hyperlink

* add build after setup env

* symlink latest

* add -latest.yaml

Co-authored-by: Ray Bell <rayjognbell0@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

update development guide - code install
4 participants