激活python虚拟环境后 vscode打开代码报错

环境

mac os 10.14.4
visuals studio code Version 1.33.1 (1.33.1)
.tox/venv/bin/python
python3

背景

休息日得空,所以想着看下horizon代码,但是激活虚拟环境后,用code . 无法打开,虚拟环境是上回装的,中间好像用brew升级过python3。无法打开的报错如下:

dyld: Library not loaded: @executable_path/../.Python
  Referenced from: /Users/robot/code/Openstack/Rep/horizon/.tox/venv/bin/python
  Reason: image not found
/usr/local/bin/code: line 10: ./MacOS/Electron: No such file or directory

解决方法

ls -al .tox/venv/
total 16
drwxr-xr-x  11 robot  staff   352 Jan 24 16:17 .
drwxr-xr-x   4 robot  staff   128 Jan 24 16:17 ..
lrwxr-xr-x   1 robot  staff    80 Jan 23 18:56 .Python -> /usr/local/Cellar/python/3.7.2_1/Frameworks/Python.framework/Versions/3.7/Python
-rw-r--r--   1 robot  staff   373 Jan 23 18:58 .tox-config1
drwxr-xr-x  70 robot  staff  2240 Jan 23 18:57 bin
drwxr-xr-x   3 robot  staff    96 Jan 23 18:56 include
drwxr-xr-x   3 robot  staff    96 Jan 23 18:56 lib
drwxr-xr-x   8 robot  staff   256 Jan 24 16:17 log
-rw-r--r--   1 robot  staff    59 Jan 23 18:56 pip-selfcheck.json
drwxr-xr-x   4 robot  staff   128 Jan 23 18:57 share
drwxr-xr-x   2 robot  staff    64 Jan 24 16:17 tmp

由于之前的更新这边的软连接已经失效了,我这里执行下链接路径发现报错如下。

/usr/local/Cellar/python/3.7.2_1/Frameworks/Python.framework/Versions/3.7/Python
zsh: correct '/usr/local/Cellar/python/3.7.2_1/Frameworks/Python.framework/Versions/3.7/Python' to '/usr/local/Cellar/python/3.7.2_2/Frameworks/Python.framework/Versions/3.7/Python' [nyae]? n
zsh: no such file or directory: /usr/local/Cellar/python/3.7.2_1/Frameworks/Python.framework/Versions/3.7/Python

现在本地虚拟环境的python路径为/usr/local/Cellar/python/3.7.2_2/Frameworks/Python.framework/Versions/3.7/Python

删除软链接

find .tox/venv/ -type l -delete

重新生成软链接

virtualenv .tox/venv/

参考

python - Broken references in Virtualenvs - Stack Overflow

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐