Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I do basically the same with python. The host does need to have the interpreter installed, then I can just rsync my local venv, not even a build step is neccessary.


I think this is particularly dangerous with python. Some of the things it installs will compile c dependencies for the architecture you are on, I thought?


Not only architecture. You can have either the compiled dependencies linked with external libraries or dependencies loading libraries via ffi. Deploying python code like that is at best accidentally correct. (Unless you really check for those issues on every dependency change)


Yeah definitely the case with numpy and libstdc++ and others. I cook up a Nix-shell when I need those. Already having those dependencies is pretty common in FHS linux systems in my experience.


It's usually pre-compiled but yes. Go binaries are also architecture-specific, so it's equivalent there. I'm fairly sure my whole venv is pure python though so it should be even more portable if you factor out the interpreter.


Cool, glad I'm not completely off my ticket.

My exposure, I thought, was in pandas and friends compiling a blas library. I'd expect that to be fairly dependent on code generated. And, I don't think there is a blas for go, yet. Is there? That said, fair point that it will also be dependent on compiling for the lowest target.


It's not that bad, as long as you are aware of https://www.python.org/dev/peps/pep-0599/ and related.


A locally hosted instance of devpi where pre-built python packages with the C dependencies compiled can get around that problem. Alternatively, the python application can be packaged with dependencies specified and can be installed using the distro package manager (with dependencies pulled from the same package repositories).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: