Disasters happen: coffee spills on a laptop, electronics are dropped, hard disks fail or become corrupt. The combination of Conda environments and version control provides a near-bullet-proof disaster mitigation strategy. We will also discuss disaster recovery for when disasters happen. Topics covered in this post: Disaster MitigationDisaster Recovery Click here for a list of related... Continue Reading →
The Best IDEs for your Python Projects
What program do you use for writing code? A simple text editor? Or maybe one of many integrated development environments (IDEs)? There are TONS of options! So many that you can waste at least an entire day (or more) researching the best one. A web search will turn up many websites with lists of the... Continue Reading →
Python for Scientists – Simple Script Framework
How do your scripts flow? Can others easily read and follow your code? Have you ever hesitated to hand somebody your code because it's "messy" or needs documented? I think you're getting the idea of where I'm going with this. Every Python project needs at least three things. A consistent framework, code comments (I use... Continue Reading →
Python for Scientists – Directory Structures
Are you the type of person that has files saved in a variety of places? Sure, there was an initial method to the madness. But now? Files are saved in various directories and it looks like a paper-nado ravaged your folder. There is no consistency between different projects/classes. Maybe you even have a single folder... Continue Reading →
Python for Scientists – Environments
Why make environments? Why can't I just install everything into the root, or base, python environment and go happily on my way? Because sooner or later this is going to happen.
You find a new feature in the latest release for a library that finally allows you to simplify your code. This is great! You quickly type the command to update the package in your base environment. The installation is going fine until you get a message that installation failed and Conda will try to roll back changes. The roll back seems to work fine and you decide to live without the new feature. Then you try to run your script again and it fails due to a library conflict. What!? My script worked just a few minutes ago! After searching online for an hour for a fix, you decide to delete Miniconda3 and reinstall everything. You try to remember all of the libraries that were used, but other scripts from different projects rely on different libraries. Oh no. You're in for a terrible, horrible, no good, very bad day(s).
Python for Scientists – Installation for Linux
If used properly, Anaconda can take most of the annoyances out of managing Python libraries and virtual environments. Even if corruption occurs (yes, it will happen), this series will equip you with means to replicate your working environments. Before we get to disaster recovery, we need a solid base installation. Remember, this post covers installation... Continue Reading →
Python for Scientists – Installation for Windows
If used properly, Anaconda can take most of the annoyances out of managing Python libraries and virtual environments. Even if corruption occurs (yes, it will happen), this series will equip you with means to replicate your working environments. Before we get to disaster recovery, we need a solid base installation. Remember, this post covers installation... Continue Reading →
Python for Scientists – Introduction
I'm going out on a limb here and guessing you're either new to programming, or you're self taught and looking for ways to improve. New graduate students are typically met with the cold reality that they need to quickly learn how to program to keep up with their course work and/or research. They search for... Continue Reading →
Why Python?
Python is a jack of all trades and is one of the best first programming languages for new coders. Numerous packages are available for Earth Sciences which reduces time spent coding and increases time spent doing actual science! One of the major reasons to learn Python is that this blog will use Python Jupyter notebooks... Continue Reading →