sai*_*tam 5 python porting flask python-venv python-3.7
如何将 a 中的当前Python解释器升级venv到 v3.7.1。不幸的是,对于我使用的某些库,3.5.2 已过时,因此我想切换到 3.7.1。
选项 1:是更新我的 venv 中的解释器。
选项 2:是使用 Python 3.7.1 作为解释器创建一个新的 venv 并重新部署整个项目及其所有依赖项和调整?
将 Flask 应用程序移植到较新的解释器的典型方法是什么?
Nic*_*ick 10
最简单的方法是创建一个新的 venv。
如果您requirements.txt的应用程序中没有文件,现在是时候生成一个文件并将其提交到您的版本控制软件(Git、Mercurial 等)中。激活旧的venv:
>>> pip freeze >requirements.txt
Run Code Online (Sandbox Code Playgroud)
使用所需的 python 版本创建新的 venv 并为其命名:
>>> virtualenv -p python3.7 venvname
Run Code Online (Sandbox Code Playgroud)
激活 venv:
>>> source venvname/bin/activate
Run Code Online (Sandbox Code Playgroud)
然后安装您的要求:
>>> pip install -r requirements.txt
Run Code Online (Sandbox Code Playgroud)
应该像旧的一样设置新的 venv,给出或接受奇怪的版本冲突。修复这些冲突并重新运行,pip install -r直到不再有错误。
值得对这个新的临时 venv 进行测试,直到您确定删除原始文件并在 Py3.7 上重新创建它为止。
一般来说,如果您有兴趣重命名 venv,则此问题中有更多详细信息,但不建议这样做。
小智 0
我认为不可能更新现有的 virtualenv (你会在互联网上找到一些方法来做到这一点,但他们基本上创建一个新的 / 安装一个新的 python 版本并替换 virtualenv 中的版本)。
我宁愿创建一个新的 virtualenv。
此外,通过保留当前的 virtualenv,如果在迁移过程中遇到任何问题,您将能够回滚。
所以 :