首页 > 解决方案 > 在工作机器上运行同步的虚拟环境时遇到问题

问题描述

我使用 sublime text + virtualenv 和 dropbox 创建一个简单的开发环境,我可以在两台机器上保持同步设置。

在一个但不是另一个上完美地工作,它给了我这个错误。

我知道“ModuleNotFoundError:没有名为'encodings'的模块”是因为它无法加载环境,因为该特定环境具有所有必需的模块,必须是对该环境的引用或类似的东西,但我似乎不能想办法。感谢你的帮助!

我尝试在崇高的文本中重新安装虚拟环境加载器模块

我可以给出一个代码示例,但这发生在我尝试运行的任何东西上,即使只是一个 print(10) 语句

这是调试错误结果:

Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Fatal Python error: initfsencoding: unable to load the file system codec
ModuleNotFoundError: No module named 'encodings'

Current thread 0x000000010e37a5c0 (most recent call first):
[Finished in 0.1s with exit code -6]
[cmd: ['/bin/bash', '-c', 'python -u "/Users/kashour/Dropbox (Personal)/Reference/Coding/Environment/python.py"']]
[dir: /Users/kashour/Dropbox (Personal)/Reference/Coding/Environment]
[path: /opt/facebook/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/VMware Fusion.app/Contents/Public/:/opt/facebook/bin/biggrep:/opt/facebook/nuclide/latest/nuclide/pkg/fb-on-demand-cli/bin:/opt/facebook/ops/scripts/chef:/opt/homebrew/bin:/usr/local/munki:/opt/facebook/hg/bin:/opt/X11/bin]

标签: pythonenvironment-variablessublimetextvirtual

解决方案


当您创建 virtualenv 时,它本质上是您创建它的 python 发行版的扩展,它与您在主机系统上安装的 python 相关联。因此,当您在原始系统上创建 virtualenv 时,它会链接到 python 的系统安装。当您将 virtualenv 移动到另一台机器时,它没有找到它最初链接的 python 安装。

virtualenv 不能跨系统移植,也不是一个完整的可移植 python 运行时,它只是一种为特定上下文隔离环境的方法,例如解决您正在使用/工作的不同应用程序之间的依赖版本差异。


推荐阅读