如何拧开弄乱的点?权限被拒绝

问题描述 投票:0回答:1

我不是 python 开发人员,我想尝试一些 LlAMA llm,但我认为我搞砸了 PIP。 我在 Macos 上安装了 python 3.11,但是当我执行 python3.11 -m pip install numpy 时,出现此错误:

ERROR: Exception:
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/shutil.py", line 853, in move
    os.rename(src, real_dst)
PermissionError: [Errno 13] Permission denied: '/private/var/folders/_f/zg7ly97n4kl58rn_vnfddfhw0000gn/T/pip-target-ii00g2i_/lib/python/numpy-1.26.4.dist-info' -> '/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/numpy-1.26.4.dist-info'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/pip/_internal/cli/base_command.py", line 180, in exc_logging_wrapper
    status = run_func(*args)
             ^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/pip/_internal/cli/req_command.py", line 245, in wrapper
    return func(self, options, args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/pip/_internal/commands/install.py", line 510, in run
    self._handle_target_dir(
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/pip/_internal/commands/install.py", line 569, in _handle_target_dir
    shutil.move(os.path.join(lib_dir, item), target_item_dir)
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/shutil.py", line 869, in move
    copytree(src, real_dst, copy_function=copy_function,
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/shutil.py", line 573, in copytree
    return _copytree(entries=entries, src=src, dst=dst, symlinks=symlinks,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/shutil.py", line 471, in _copytree
    os.makedirs(dst, exist_ok=dirs_exist_ok)
  File "<frozen os>", line 225, in makedirs
PermissionError: [Errno 13] Permission denied: '/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/numpy-1.26.4.dist-info'

感觉真正错误的是权限被拒绝的库是python 3.10,但我想使用3.11。另外,当我打开 Visual Studio 时,它会看到两个解释器,3.9 和 3.11。

值得注意的是,我在使用不同的 python 版本时遇到了一些问题,因此在删除其中一些版本时可能会犯错误。

我将不胜感激任何帮助,因为我完全迷路了,但真的很想尝试骆驼!

python python-3.x macos pip
1个回答
0
投票

首先,我强烈建议您不要使用全局安装进行开发,否则您可能会损坏您的系统。

我强烈建议您创建一个小型虚拟环境,它会创建一个本地环境并在本地文件夹中执行所有安装。

示例: 我在文件夹 /storage/PyENV/lin 中,我创建了一个新环境:

python3.11 -mvenv TestENV

当您查看该目录时,您会看到以下结构:

drwxr-xr-x 2 tamer tamer 4096 Mar 28 22:26 bin
drwxr-xr-x 3 tamer tamer 4096 Mar 28 22:26 include
drwxr-xr-x 3 tamer tamer 4096 Mar 28 22:26 lib
lrwxrwxrwx 1 tamer tamer    3 Mar 28 22:26 lib64 -> lib
-rw-r--r-- 1 tamer tamer  193 Mar 28 22:26 pyvenv.cfg

现在就进入环境了,可以轻松的在这个本地文件夹中进行安装了。

source bin/activate

您可以使用 pip 执行任何安装,例如名为“django”的示例安装:

   /storage/PyENV/lin/TestENV  pip install django                                                                                                                                    
 ✔  TestENV  
Collecting django
Downloading Django-5.0.3-py3-none-any.whl.metadata (4.2 kB)
Collecting asgiref<4,>=3.7.0 (from django)
Downloading asgiref-3.8.1-py3-none-any.whl.metadata (9.3 kB)
Collecting sqlparse>=0.3.1 (from django)
Downloading sqlparse-0.4.4-py3-none-any.whl.metadata (4.0 kB)
Downloading Django-5.0.3-py3-none-any.whl (8.2 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.2/8.2 MB 12.5 MB/s eta 
0:00:00
Downloading asgiref-3.8.1-py3-none-any.whl (23 kB)
Downloading sqlparse-0.4.4-py3-none-any.whl (41 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 41.2/41.2 kB 1.8 MB/s eta 
0:00:00
Installing collected packages: sqlparse, asgiref, django
Successfully installed asgiref-3.8.1 django-5.0.3 sqlparse-0.4.4

当您查看此文件夹时:

/存储/PyENV/lin/TestENV/lib/python3.11/site-packages

然后所有软件包都安装在这个“虚拟环境目录”中,而不是全局的:

   /storage/PyENV/lin/TestENV/lib/python3.11/site-packages  ls -lA                                                                                                                   
 ✔  TestENV  
total 52
drwxr-xr-x  3 tamer tamer 4096 Mar 28 22:29 asgiref
drwxr-xr-x  2 tamer tamer 4096 Mar 28 22:29 asgiref-3.8.1.dist-info
drwxr-xr-x  3 tamer tamer 4096 Mar 28 22:26 _distutils_hack
-rw-r--r--  1 tamer tamer  151 Mar 28 22:26 distutils-precedence.pth
drwxr-xr-x 18 tamer tamer 4096 Mar 28 22:29 django
drwxr-xr-x  2 tamer tamer 4096 Mar 28 22:29 Django-5.0.3.dist-info
drwxr-xr-x  5 tamer tamer 4096 Mar 28 22:26 pip
drwxr-xr-x  2 tamer tamer 4096 Mar 28 22:26 pip-24.0.dist-info
drwxr-xr-x  5 tamer tamer 4096 Mar 28 22:26 pkg_resources
drwxr-xr-x  8 tamer tamer 4096 Mar 28 22:26 setuptools
drwxr-xr-x  2 tamer tamer 4096 Mar 28 22:26 setuptools-65.5.0.dist-info
drwxr-xr-x  5 tamer tamer 4096 Mar 28 22:29 sqlparse
drwxr-xr-x  2 tamer tamer 4096 Mar 28 22:29 sqlparse-0.4.4.dist-info

这可确保您的工作环境是本地的,并且您不会面临破坏系统的危险。

更重要的是,不要以管理员身份执行此操作,而只能以用户身份执行。

希望对您有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.