-
Notifications
You must be signed in to change notification settings - Fork 149
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
Windows development challenges #271
Comments
Opening the python example:
|
Depending on how the script is written you can run bash on Windows.
This is quite often used on conda-forge CI to use a single |
My recommendation on Windows is to always use conda / conda-forge provided tools insofar as is possible. Edit: It's won't magically fix everything but I think that fewer things will be broken. |
I've had challenges with the conda ecosystem several times over the years and have been happily using a pip-based setup for the last two years specifically because there are so many more people using pip and pypi than are using conda and I've found it to be much better supported for a broad range of tasks. My issues were with conda and conda-forge not having libraries I needed, pip not mixing well with conda installations causing completely broken installations, and with issues like PyCharm and pyinstaller not knowing where conda was putting things half the time. In my experience a library that wants to support Windows should support pip-based installations first, unless you have a ton of non-python dependencies for which conda packages make more sense than wheels and/or you exist as part of a tight web of tools that are already only on conda-forge (I experienced this with FreeCAD for example). All that said, if you need MSYS or git-bash or whatever (the same as what |
Thanks for the info, folks! We're aware of most of the options presented, I was really just documenting how badly I've set up the content of this repo for windows devs while trying to run down some issues... anybody is welcome to PR fixes! As to bash-like-things on windows: yeah, my cross-platform inclination is to reach for python over trying to introduce another bash to windows. I've been bitten by trying to support cygwin-wsl-posh-cmdr-powershell-gitbash. luckily the bash language server we test doesn't need bash! As to pip-vs-conda: We maintain, and test, a pip-based setup approach for unit tests... which will get a developer up to being able to test one language server and no UI. We end up using whatever nodejs happens to be lying around on CI. This approach carries the dangling caveat of, "go figure node, and r out yourself." In the readthedocs pipeline, we have to bring our own node (theirs is EOL, last i checked), but then use pip for everything else. Due to the nature of supporting LSP, we're pulling in at least three languages already, on three platforms, and would love to test more (Julia, elixir, latex, etc.) so yeah, "just pip" is kind of a non-starter. Heck, we do use pip to install stuff that I haven't had the time to PR to conda-forge. But anyhow: what I'm not going to do with my free time is build, document, and maintain rube-goldbergian contraptions of brew-choco-apt-pacman-yum-dnf-snap-flatpak-emerge on two proprietary operating systems and a multiverse of free distros, that at the end of the day can't be distributed as a functioning component short of containers or heavyweight VM. Theoretically PRs welcome, I guess... |
...and this is a very important benefit you get from using I'm also surprised when anyone involved in analytics advocates
The best-case scenario is a loud exception but the likelihood of a silent error (wrong values) scares me - I don't trust results from analysts who use pip unless they've been created from a carefully curated production environment (and not their local venv/pipenv) TBF: This is a known issue and they're looking to improve it pypa/pip#988 ...and in case you're interested, some background on the issues around building wheels: |
@stonebig please hoist this to a new issue, with the full version rigamarole... unless you're trying to build from source and make a contribution! The one-line fix is almost certainly for us to add
welp, not to start flamewar, but given the number of packages I've seen that have had to change things to avoid the pip solver from hanging indefinitely... I'm not quite sure it's fully-cooked...
probably what your language server is spitting out on stdout... you can also try running the whole shooting match under a bat script with |
At present, I think all of our contributors are working on Linux/MacOS, and while we test fairly exhaustively on Windows in CI, it's not much fun to develop locally.
Some things I've encountered trying to test #245:
binder/postBuild
is written in bashdoit
(a la [wip] add doit #183) would probably be helpfulprettier
doesn't workcmd
-friendlynblint
doesn't workwill update as i find more...
The text was updated successfully, but these errors were encountered: