在虚拟环境中出现的错误 - dyld: Library not loaded: /Library/Frameworks/Python.framework/Versions/3.4/Python

4

我有一个在虚拟环境中的场景。

在激活了我的虚拟环境 env-trails_dj 后,

source env-trails_dj/bin/activate

当我尝试启动Python时,出现了以下错误:
(env-trails_dj) AirTime:trails_dj udos$ python
dyld: Library not loaded: /Library/Frameworks/Python.framework/Versions/3.4/Python
  Referenced from: /Users/udos/PycharmProjects/trails_dj/env-trails_dj/bin/python
  Reason: image not found
Trace/BPT trap: 5

the virtualenv PATH looks as following:

(env-trails_dj) AirTime:trails_dj udos$ echo $PATH
/Users/udos/PycharmProjects/trails_dj/env-trails_dj/bin:/Library/Frameworks/Python.framework/Versions/3.4/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

我检查了以下目录,但是它是空的...

(env-trails_dj) AirTime:trails_dj udos$ ls -al /Library/Frameworks/Python.framework/Versions/
total 0
drwxrwxr-x  2 root  wheel   68 Jul 13 10:58 .
drwxr-xr-x  6 root  wheel  204 Jul 13 10:43 ..

也许只是缺少一个参考文献,但我无法确定。

注意:不确定是什么原因导致了这个问题。可能是升级到 OS X El Capitan (10.11.1) 版本引起的。

更新:

(env-trails_dj) AirTime:trails_dj udos$ ls -la /Users/udos/PycharmProjects/trails_dj/env-trails_dj/bin/
total 248
drwxr-xr-x  16 udos  staff    544 Sep 22 22:13 .
drwxr-xr-x   8 udos  staff    272 Oct 23 16:40 ..
drwxr-xr-x   3 udos  staff    102 Sep 11 20:26 __pycache__
-rw-rw-r--   1 udos  staff   2185 Sep 13 16:36 activate
-rw-rw-r--   1 udos  staff   1301 Sep 11 20:25 activate.csh
-rw-rw-r--   1 udos  staff   2437 Sep 11 20:25 activate.fish
-rwxr-xr-x   1 udos  staff    312 Sep 11 20:26 django-admin
-rwxr-xr-x   1 udos  staff    171 Sep 11 20:26 django-admin.py
-rwxr-xr-x   1 udos  staff    279 Sep 12 09:07 easy_install
-rwxr-xr-x   1 udos  staff    279 Sep 12 09:07 easy_install-3.4
-rwxr-xr-x   1 udos  staff    251 Sep 12 09:05 pip
-rwxr-xr-x   1 udos  staff    251 Sep 12 09:05 pip3
-rwxr-xr-x   1 udos  staff    251 Sep 12 09:05 pip3.4
-rwxr-xr-x   1 udos  staff  25920 Sep 11 20:25 python
-rwxr-xr-x   1 udos  staff  25920 Sep 11 20:25 python3
-rwxr-xr-x   1 udos  staff  25920 Sep 11 20:25 python3.4

检查启动的Python版本:

env-trails_dj) AirTime:trails_dj udos$ which python
/Users/udos/PycharmProjects/trails_dj/env-trails_dj/bin/python

根据错误提示,Python 在寻找另一个目录:

(env-trails_dj) AirTime:trails_dj udos$ python
dyld: Library not loaded: /Library/Frameworks/Python.framework/Versions/3.4/Python
  Referenced from: /Users/udos/PycharmProjects/trails_dj/env-trails_dj/bin/python
  Reason: image not found
Trace/BPT trap: 5

更新2:

(env-trails_dj) AirTime:trails_dj udos$ pip install Python
dyld: Library not loaded: /Library/Frameworks/Python.framework/Versions/3.4/Python
  Referenced from: /Users/udos/PycharmProjects/trails_dj/env-trails_dj/bin/python
  Reason: image not found
Trace/BPT trap: 5
1个回答

1
看起来你的Python框架安装有误或已被移除。 你的虚拟环境在/Library/Frameworks/Python.framework/Versions/3.4/Python中查找符号链接的python文件。你可以通过输入ls -la /Users/udos/PycharmProjects/trails_dj/env-trails_dj/bin来确认这一点,应该会有一个指向你的Python安装的链接。
尝试从头重新安装Python,然后使用/Library/Frameworks/Python.framework/Versions/3.4/python -m venv ~/PycharmProjects/创建新的环境或尝试使用现有的环境。

抱歉耽搁了。这完全就是我所说的。这一行:-rwxr-xr-x 1 udos staff 25920 Sep 11 20:25 python 应该是一个符号链接,而不是一个Python文件。在我的虚拟环境中看起来像这样:lrwxr-xr-x 1 videopro staff 63 Sep 19 00:51 python3.5@ -> /Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5 - Alex Bogomolov
你可以通过输入 ls -GFh -la /Users/udos/PycharmProjects/trails_dj/env-trails_dj/bin 来执行相同的操作。希望这能帮到你。 - Alex Bogomolov
感谢您的支持。这是一个相当棘手的任务...我尝试通过_pip_安装Python,但结果相同...请参见update_2 - udo
Pip只安装Python包,因此需要Python,但似乎未安装或已损坏。请使用此链接完全重新安装Python 3.4:https://www.python.org/ftp/python/3.4.3/python-3.4.3-macosx10.6.pkg。请注意,建议使用3.4.3而不是3.4.0。然后重新创建您的虚拟环境:`python3 -m venv ~/trails_dj/env-trails_dj2,然后运行 source ~/trails_dj/env-trails_dj2/bin/activate`。 - Alex Bogomolov
2
通常我会避免使用OSX系统自带的Python,因为会出现像这样的问题。你可以像@AlexeyBogomolov建议的那样从python.org获取软件包,或者(就像我经常做的)安装homebrew(http://brew.sh/),然后输入brew install python3。这时候,你应该能够使用新安装的Python3重新创建你的虚拟环境,就像Alexey所说的那样。 - Jessamyn Smith
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接