Editing 1987: Python Environment

Jump to: navigation, search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 8: Line 8:
  
 
==Explanation==  
 
==Explanation==  
βˆ’
A development environment is the collection of tools used to create a computer program.  It generally includes an {{w|Interpreter_(programming)|interpreter}}, a {{w|package manager}}, and various {{w|Library_(computing)|libraries}} that the project needs. One such example is {{w|Python_(programming_language)|Python}}.
 
  
βˆ’
Historically, a computer would have only a single such environment, ie. only one copy of these tools installed, with all programs running off of it. However, people quickly discovered that this caused issues when said tools got updated and unintentionally break the programs. As an example, many programs still run on Python 2.7 (released in 2010) because Python 3.x changed things around so much that the effort to alter the program to run on it was deemed too much effort.
+
A development environment is the collection of tools used to create a computer program.  It generally includes an {{w|Interpreter_(programming)|interpreter}}, a {{w|package manager}}, and various {{w|Library_(computing)|libraries}} that the project needs. Computer programs often depend on a specific version of these tools, such as a program that only runs on Python 2.7. A badly configured build environment can lead to mysterious errors as the program looks for libraries or features that aren't there, making it hard to develop stable and portable software.
  
βˆ’
In an attempt to solve the above issue, the solution was determined to simply have each program have their own copy of the tools that they could be free to modify however they like without worrying about how it might affect other programs. Multiple tools were then developed intending to make it easier for a user to manage and keep track of the now-multiple environments, but it seems that for Randall this has simply created a new issue: he has lost track of which copy of Python his computer uses by default.
+
{{w|Python_(programming_language)|Python}} is a {{w|computer}} {{w|programming language}} which has been around for quite a while, especially on {{w|Linux}} platforms. [[Randall]] has shown his fascination with Python [[353: Python|before]]. He has likely used it on his computer for quite a few years, from the early years when it wasn't so easy to install, through newer versions where there is a more defined way to install it. Because standards change over time (in particular, although the newest version of Python is Python 3.x, many people prefer Python 2.x, and it's still widely used for backward-compatibility), and he didn't completely uninstall old versions before installing new versions (likely to not break what was already working), he's ended up with a mess where different pieces and versions of Python and its related components litter his {{w|hard drive}}'s {{w|directory structure}}.
  
 
{{w|Superfund}} is a US federal government program created for cleaning up contaminated land. The comic is saying that his computer's Python environment is so messed up that it's comparable to a real-world environmental disaster.
 
{{w|Superfund}} is a US federal government program created for cleaning up contaminated land. The comic is saying that his computer's Python environment is so messed up that it's comparable to a real-world environmental disaster.

Please note that all contributions to explain xkcd may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see explain xkcd:Copyrights for details). Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:

Cancel | Editing help (opens in new window)