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

add post about isolated environments #47

Merged
merged 12 commits into from
Apr 7, 2017
Merged

add post about isolated environments #47

merged 12 commits into from
Apr 7, 2017

Conversation

kain88-de
Copy link
Member

Since the new release might break some existing scripts for users I though it was a good idea to write a post about managing different software versions. This doesn't just touch python packages anymore though.

I would appreciate some help with the virtual env because I haven't used them in ages.

@kain88-de
Copy link
Member Author

@MDAnalysis/coredevs Anyone using virtual envs?

@jbarnoud
Copy link
Contributor

jbarnoud commented Mar 27, 2017 via email

More information about conda environments can be found in
the [official documentation]().

# Python Virtual Environments
Copy link
Member

Choose a reason for hiding this comment

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

Can't we just leave it at conda environments?

Copy link
Member Author

Choose a reason for hiding this comment

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

We could. I thought it might be nice though for people who don't use conda yet. Most scientists I know go with never change a running system and are rather slow to change to anything new.


Virtual environments will only work for python packages.

# Automatically Change Environment Based On Folder
Copy link
Member

Choose a reason for hiding this comment

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

This sounds a bit hacky and weird and probably a bad idea?

Copy link
Member Author

Choose a reason for hiding this comment

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

There are some packages for bash and zsh that do that. I wanted to look for them again. If I don't find them I'll remove it again

Copy link
Member

Choose a reason for hiding this comment

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

If we don't currently use them, it's probably a bad idea to advocate that people use them. I'd rather we stuck to recommending things that we know work.

@orbeckst
Copy link
Member

I'd generally echo @richardjgowers advice

"I'd rather we stuck to recommending things that we know work."

You could have a See Also section at the end with links to other approaches and tools. But I would keep the main post straight and to the point.

@kain88-de
Copy link
Member Author

@orbeckst can you have a look over it. I added a small paragraph for virtual environments now.

@jbarnoud
Copy link
Contributor

jbarnoud commented Apr 1, 2017

I'll extend on the virtual envs later today. I will especially add a word on virtualenvwrapper. I may also add a word on how to load a given version of gromacs with a virtual env.

@kain88-de
Copy link
Member Author

Thanks. I forgot about the wrapper package.

Copy link
Member

@orbeckst orbeckst left a comment

Choose a reason for hiding this comment

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

Generally good, nothing major. See inline for suggestions.

title: Managing software versioning using Conda environments
---

Research projects can often take months to years to complete, however the
Copy link
Member

Choose a reason for hiding this comment

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

, however --> but

this. These new versions of software will often include new features which
might be of great use, but they might also introduce changes which break
your existing work and introduce compatibility issues with other pieces
of software. So whilst for existing projects we might wish to freeze
Copy link
Member

Choose a reason for hiding this comment

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

Maybe tie this to the upcoming 0.16.0 – otherwise it's not really clear why this appears in the MDAnalysis blog.

use the most up-to-date versions, leaving us needing to install multiple
versions of multiple different pieces of software.

In this post we will try to explain how conda and Python virtual environments
Copy link
Member

Choose a reason for hiding this comment

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

Highlight (and omit 'try'):

In this post we will explain how conda and Python virtual environments can be

Copy link
Member

Choose a reason for hiding this comment

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

Or even better: make these links to the sections below. With the new AnchorJS extension all headings will get anchors so you just have to run locally to find the anchor name and put in a link, something like

  [conda](#conda-environments)

Copy link
Member

Choose a reason for hiding this comment

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

It's not clear from here if one should use either conda or virtualenvs or both.

Copy link
Member Author

Choose a reason for hiding this comment

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

OK I added the link to the descriptions.

{% endhighlight %}

For each research project, it is advised that you create a new environment so that
the software used in each project does interfere across different projects.
Copy link
Member

Choose a reason for hiding this comment

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

does not interfere

(omission of the crucial word "not")

versions.

In this guide we will concentrate only on creating and managing environments
with conda. For more information on general installation of package please refer
Copy link
Member

Choose a reason for hiding this comment

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

For more information on installing packages please ...

scientific applications. It is mostly used for Python packages but the system
can be used with any programs. The [conda-forge](https://conda-forge.github.io/)
community also provides a large collection of scientific software for Python, R
and perl. Conda should be your first choice to manage different software
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 like the "Conda should be your first choice". It seems very paternalistic. Rather something like "Conda has shown itself to be an excellent tool to manage different software versions." or "Conda is now widely used to manage different software versions." Let your readers decide for themselves if they want to use it.

@orbeckst orbeckst mentioned this pull request Apr 2, 2017
6 tasks
@richardjgowers
Copy link
Member

Ok I addressed @orbeckst 's comments, all that is left is for the virtualenv to be written to a similar spec to conda.

@kain88-de
Copy link
Member Author

Anything else that should be done for this post?

@kain88-de
Copy link
Member Author

If we want to release on the weekend. Everyone OK if this goes live in the evening? I would still have to change the filename for the post date.

@jbarnoud
Copy link
Contributor

jbarnoud commented Apr 7, 2017 via email

@kain88-de
Copy link
Member Author

OK this now ok to go. I changed the date

@orbeckst orbeckst self-assigned this Apr 7, 2017
@orbeckst orbeckst merged commit 3977ab4 into master Apr 7, 2017
@orbeckst orbeckst deleted the python-envs branch April 7, 2017 17:58
@orbeckst
Copy link
Member

orbeckst commented Apr 7, 2017

@kain88-de all merged (and added missing .md suffix to file name).

Do you want to do a tweet that links to the blog post?

@kain88-de
Copy link
Member Author

Sure I can try a first tweet.

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.

4 participants