错误:使用 python 3 安装 mkvirtualenv,MacBook 出现:符号链接层数过多

0 投票
2 回答
1573 浏览
提问于 2025-04-18 18:44

有没有其他人在Mac上安装和使用Python 3.x的虚拟环境时遇到问题?因为它不是自带的,所以我自己安装了python3,里面包含了pip3。

我运行了:

$ pip3 install virtualenvwrapper

现在我的.bash_profile里有:

# Setting PATH for Python 3.4
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.4/bin:${PATH}"
export PATH

# Added this myself
export VIRTUALENVWRAPPER_PYTHON=/Library/Frameworks/Python.framework/Versions/3.4/bin/python3

export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/workspace/python
source /Library/Frameworks/Python.framework/Versions/3.4/bin/virtualenvwrapper.sh

当我运行这个命令时:

$ mkvirtualenv myproject

我得到了这个:

myproject/bin/python3.4

Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.4/bin/virtualenv", line 11, in <module>
sys.exit(main())

File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/virtualenv.py", line 824, in main
symlink=options.symlink)

File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/virtualenv.py", line 984, in create_environment
site_packages=site_packages, clear=clear, symlink=symlink))

File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/virtualenv.py", line 1276, in install_python
shutil.copyfile(executable, py_executable)

File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/shutil.py", line 108, in copyfile
with open(dst, 'wb') as fdst:

OSError: [Errno 62] Too many levels of symbolic links: 'myproject/bin/python3.4'

我有以下几个问题:

  1. 这个错误是什么意思?我是不是有某种循环链接导致这个问题?

  2. 我该如何正确安装virtualenvwrapper?我想让我的新Django项目使用Library/...python3.4的安装,并且希望把它和Mac自带的2.7.x版本分开。

谢谢。

2 个回答

-1

首先用 ls -I 命令检查一下,看看有没有和符号链接相关的循环。然后,你需要删除这些循环,或者指定一下你的Python安装在哪里。

0

我遇到了和“OSError: [Errno 62] 符号链接层级太多”一样的错误。

然后我发现这个目录里有一些符号链接:

WWW:flasky Wu$ cd /System/Library/Frameworks/Python.framework/Versions/3.4/bin/
WWW:bin Wu$ ls
2to3            idle3           pip3.4          python3         python3.4       python3.4m      pyvenv-3.4
2to3-3.4        idle3.4         pydoc3          python3-32      python3.4-32        python3.4m-config   virtualenv
easy_install-3.4    pip3            pydoc3.4        python3-config      python3.4-config    pyvenv          virtualenv-3.4
WWW:bin Wu$ ls -l
total 288
lrwxr-xr-x  1 root  wheel      8  5  1 11:53 2to3 -> 2to3-3.4
-rwxrwxr-x  1 root  wheel    147  5  1 12:28 2to3-3.4
-rwxrwxr-x  1 root  wheel    287  5  1 12:28 easy_install-3.4
lrwxr-xr-x  1 root  wheel      7  5  1 11:53 idle3 -> idle3.4
-rwxrwxr-x  1 root  wheel    145  5  1 12:28 idle3.4
-rwxrwxr-x  1 root  wheel    259  5  1 12:29 pip3
-rwxrwxr-x  1 root  wheel    259  5  1 12:29 pip3.4
lrwxr-xr-x  1 root  wheel      8  5  1 11:53 pydoc3 -> pydoc3.4
-rwxrwxr-x  1 root  wheel    130  5  1 12:30 pydoc3.4
lrwxr-xr-x  1 root  wheel      9  5  1 11:53 python3 -> python3.4
lrwxr-xr-x  1 root  wheel     12  5  1 11:53 python3-32 -> python3.4-32
lrwxr-xr-x  1 root  wheel     16  5  1 11:53 python3-config -> python3.4-config
-rwxrwxr-x  2 root  wheel  25920  2 23 18:54 python3.4
-rwxrwxr-x  1 root  wheel  13568  2 23 18:54 python3.4-32
lrwxr-xr-x  1 root  wheel     17  5  1 11:53 python3.4-config -> python3.4m-config
-rwxrwxr-x  2 root  wheel  25920  2 23 18:54 python3.4m
-rwxrwxr-x  1 root  wheel   2088  5  1 12:31 python3.4m-config
lrwxr-xr-x  1 root  wheel     10  5  1 11:53 pyvenv -> pyvenv-3.4
-rwxrwxr-x  1 root  wheel    282  5  1 12:24 pyvenv-3.4
-rwxr-xr-x  1 root  wheel    266  5  1 12:32 virtualenv
-rwxr-xr-x  1 root  wheel    266  5  1 12:32 virtualenv-3.4

当我把这个bin目录下的所有符号链接删除后,问题解决了,虚拟环境成功运行。

撰写回答