首先想到的思路是 os a 导出 req.txt 到 os b 上,然后 os b 根据 req.txt 或者类似的依赖包文件重新安装环境,但是问题是依赖关系可能由于 os 的差异发生变化,那么一个一个包的去试感觉也太蛋疼了,有没有好的解决方案呢
1
bitmin 261 天前
用 poetry pyproject.toml ?
|
2
uliah 261 天前
代码最终是运行在 Linux 上,推荐尝试 windows wsl || vms;
代码需要跨平台运行,推荐尝试 go; DEVOPS 处理的一个典型问题:"我本地好好的,为什么到服务器就报错?" |
3
winterpotato 261 天前
我想的也是 requirements.txt pyproject.toml 这类的:-)
|
4
thinkershare 261 天前
没有什么办法。
|
5
jiayouzl 261 天前
我肯定选 docker
|
6
peanutBark 261 天前
poetry + docker. 完美解决问题
|
7
kdwycz 261 天前
wsl2 就不用迁移了,甚至 wsl2 能优雅的在不同的 windows 中迁移
|
8
ClericPy 261 天前
https://pypi.org/project/zipapps/
用 -d 模式, 把依赖和源码打包成几十 KB 的玩意, 两边机器只要搞定解释器, 然后在目标机器上现安装依赖 |
9
laqow 261 天前
可能直接按包的方式开发,分发成不同的 wheel
|
10
Jirajine 261 天前
Rye, rustup + cargo for python
https://rye-up.com/ |
11
tomczhen 261 天前
如果是开发的目的,poetry ,pipenv 这些都可以。如果是分发为目的,纯 Python 或者有 wheels 的包,可以用,pip 的--platform 参数指定平台,然后使用 zipapp 的相关工具 shiv 这些的可以打出一个 pyz 包,使用起来和 jar 包类似。没有 wheels 或者有动态依赖,或者依赖本身绑定平台,我是懒得去研究怎么解决了。
|
12
XXWHCA 261 天前
我为什么没有 get 到点,requirements.txt pyproject.toml 不就是做这个的吗,固定版本号,那什么 os 下都一样啊。然后 python 版本 可以用 pyenv 直接切换,怎么会存在差异变化呢。
|