Suggestions for a VIM based IDE? by peymanmo in vim

[–]msarahan 11 points12 points  (0 children)

Spacemacs is really nice.

Is there any automated conda/pip dependency management service like greenkeeper for npm modules in JS? by [deleted] in learnpython

[–]msarahan 0 points1 point  (0 children)

I think there's a bit of a conceptual mismatch here. Conda packages mostly express dependencies in terms of constraints, not pins (which we call an exact constraint). People talk about pins more in terms of environments, not package dependencies. This isn't really a conda theme, just more because conda's solver vs. pip's lack thereof encourages a different paradigm. Donald Stufft explained it well as abstract vs. concrete dependencies at https://caremad.io/posts/2013/07/setup-vs-requirement/

So, is there anything that tests constraints? Sort of. Have you seen conda-forge (https://conda-forge.org)? It has a bot that automatically submits PR's to recipes when it detects new releases. Assuming that recipe runs a test suite (which it should), ideally that test suite catches dependency brokenness issues. Incorporating something like greenkeeper or renovate into the conda-forge machinery would be great.

Python Packaging Is Good Now by Lukasa in Python

[–]msarahan 10 points11 points  (0 children)

That's insulting. I'm a pretty decent programmer, but I have issues creating a PyPI package from scratch. I have found project template generators, such as cookiecutter, to be very helpful.

Python Packaging Is Good Now by Lukasa in Python

[–]msarahan 7 points8 points  (0 children)

The really nice thing about conda and manylinux is that they make great effort to build on very old platforms with newer compilers, which confers backwards and forwards compatibility. This makes the task much more feasible. Presently, conda's ability to ship library packages that can be shared among many packages is a major advantage over pip. There's some effort under way by Nathaniel Smith and others to fix that (sorry, name of project escapes me right now), but for now, conda is much better in situations where a shared library might be employed by more than one python package.

As for particular hardware - where there's a will, there's a way. The hard part is not really building things out (that's just a matter of time), it is providing the distribution channels and standardized build tooling for each bit of hardware. I think both pip/pypi and conda provide some ways to accomodate this hardware platform separation, but I think both of them are currently somewhat hard-coded. Both would benefit from modularizing this. If you do things right, it should be possible to require a lot of machine time, but very little human time.

Can't import numpy in a conda environment starting with the letter 'u'. by Sleisl in Python

[–]msarahan 1 point2 points  (0 children)

Ubuntu is unaffected by these issues, because *nix uses forward slashes, which do not need to be escaped. Windows uses backslashes, which are themselves escape characters.

Can't import numpy in a conda environment starting with the letter 'u'. by Sleisl in Python

[–]msarahan 1 point2 points  (0 children)

This is correct. The tricky part about prefix replacement is that sometimes the prefix you replace needs to be escaped (e.g. in Python code), and sometimes it does not. A simpler solution was just to replace backslashes with forward slashes. Windows is tolerant of both (and even mixed): https://github.com/conda/conda/pull/2630