Apr-22-2019, 07:09 PM
BACKGROUND
I am a Python newbie coming from a Java background. Python environment management seems inscrutable to the point of idiotic, but I must assume that the ignorance is my own and I am missing some bigger picture.
PERCEIVED PROBLEM:
Many issues I encounter with Python have recommended solutions that require me to install something, un-install something, re-install something, or move something from here to there. I can find the individual solutions, and even when those solutions work ... and here is the core of my challenge ... it only solves the problem for me in this moment. The next time I hire someone and they try to set up the system, they will most likely hit the same problem and require the same solution. So I have taken to keeping a log of all the little tweaks I do to get stuff to work.
As an example, my problem “OMP: Error #15: Initializing libiomp5.dylib, but found libiomp5.dylib already initialized” brought me to https://github.com/dmlc/xgboost/issues/1715
which suggested solution “brew uninstall libiomp clang-omp”, which solved my problem, but didn’t change any configuration or setup that is repeatable.
Compared to the less free-flowing world of Java, this seems very wild west-y and chaotic. It’s like coding by Brownian motion. It seems that there are a host of environment management tools, but that only exacerbates the problem when different modules use different tools.
THE QUESTION:
I must be missing something. Can anyone describe my blind spot to me?
Thanks,
Wallace
I am a Python newbie coming from a Java background. Python environment management seems inscrutable to the point of idiotic, but I must assume that the ignorance is my own and I am missing some bigger picture.
PERCEIVED PROBLEM:
Many issues I encounter with Python have recommended solutions that require me to install something, un-install something, re-install something, or move something from here to there. I can find the individual solutions, and even when those solutions work ... and here is the core of my challenge ... it only solves the problem for me in this moment. The next time I hire someone and they try to set up the system, they will most likely hit the same problem and require the same solution. So I have taken to keeping a log of all the little tweaks I do to get stuff to work.
As an example, my problem “OMP: Error #15: Initializing libiomp5.dylib, but found libiomp5.dylib already initialized” brought me to https://github.com/dmlc/xgboost/issues/1715
which suggested solution “brew uninstall libiomp clang-omp”, which solved my problem, but didn’t change any configuration or setup that is repeatable.
Compared to the less free-flowing world of Java, this seems very wild west-y and chaotic. It’s like coding by Brownian motion. It seems that there are a host of environment management tools, but that only exacerbates the problem when different modules use different tools.
THE QUESTION:
I must be missing something. Can anyone describe my blind spot to me?
Thanks,
Wallace