由于 EnvironmentError 而无法安装软件包:[Errno 2] 没有此文件或目录 \\METADATA
- 2025-03-20 08:47:00
- admin 原创
- 19
问题描述:
我对编码还比较陌生,所以我还没有运行虚拟环境。相反,我只是直接用 pip 将软件包下载到我的电脑上,以便在 atom 中运行 python 3.7。
前几天我尝试使用 pip 安装 scrapy 包时-m pip install --user scrapy
我收到此错误:Could not install packages due to an EnvironmentError: [Errno 2] No such file or directory: 'c:/users\adrian\appdata\roaming\python\python37\site-packages\pip-19.0.1.dist-info\METADATA'
我认为,我看到的有关相关错误的大多数其他答案都让人使用 conda 安装某种类型的修复程序?当我尝试使用 conda 执行其中一个修复程序时,我收到了 CondaHTTPError:SSLError(MaxRetryError('HTTPSConnectionPool(host='repo.anaconda.com', port=443): Max retries exceeded with url: /pkgs/free/noarch/repodata.json.bz2 (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.
如能得到任何指导,我们将不胜感激:-)
解决方案 1:
总结:
问题:安装路径过长
解决方案 1:在路径较短的文件夹中安装所需的 Python 包(在我的情况下是 tensorflow)(例如C:/my_py_packages/some_package
)
解决方案 2:将注册表值设置HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlFileSystem@LongPathsEnabled
为1
如此处所述。
原始答案:
当我尝试安装库时,遇到了这种错误tensorflow
。我的错误如下:
由于 EnvironmentError 而无法安装软件包:[Errno 2] 没有这样的文件或目录:'c:\moj ifajlovi\faks\11master\1semestar\siap-sistemizaistrazivanjeianalizupodataka_(datamining)\projek at\rad\venvs\siap_venv\Lib\site-packages\tensorflow_estimator\python\estimator\canned\line ar_optimizer\python/utils\ pycache \sharded_mutable_dense_hashtable.cpython-37.pyc'
因此,目录中没有sharded_mutable_dense_hashtable.cpython-37.pyc
文件__pycache__
。但是,sharded_mutable_dense_hashtable.cpython-37.pyc
文件位于utils
目录中(目录的父目录中__pycache__
)。
这就是为什么我尝试手动复制目录sharded_mutable_dense_hashtable.cpython-37.pyc
中的文件__pycache__
。当我尝试这样做时,我遇到了一个复制错误,提示路径太长,因此无法将文件放入目录中。
因此,解决方案是:
在具有较短路径的文件夹中安装所需的 python 包(在我的情况下是 tensorflow)(例如C:/my_py_packages/some_package
)或将注册表值设置HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlFileSystem@LongPathsEnabled
为1
此处提到的。
解决方案 2:
这是我做的:
由于此错误,我无法安装我的 Python 包ERROR: Could not install packages due to an EnvironmentError: [Errno 2] No such file or directory: 'c:/users\banipreet\anaconda3\envs\env-gpu\lib\site-packages\requests-2.24.0.dist-info\METADATA'
我只是删除了该文件夹'c:/users\banipreet\anaconda3\envs\env-gpu\lib\site-packages\requests-2.24.0.dist-info
并重试pip install my-package
,然后它成功安装了该包。
解决方案 3:
通过编辑注册表删除 260 个字符的路径限制,将 LongPathsEnabled 更改为 1,注册表路径为:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlFileSystem
最后:重启电脑,或者注销!
解决方案 4:
首先访问系统注册表:
单击“开始”,然后单击“运行”。
在打开框中,粘贴 %systemroot%\syswow64\regedit,然后单击确定。
然后按照Filip Savic和dayudodo提到的操作进行操作:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlFileSystem@LongPathsEnabled 为 1
解决方案 5:
我在尝试安装 Jupyter 时遇到了同样的错误,我的用户配置文件下的路径以 \site-packages\pip-19.0.1.dist-info\METADATA 结尾
当我检查该位置时,它不包含 METADATA,但另一个名为 pip-19.0.1.dist-info 的文件夹包含几个文件,包括 METADATA
我将这些文件移回目录,以便它与错误中列出的路径匹配,然后升级 pip(在管理员帐户下)
pip3 install --upgrade pip
哪个有效并更新了 pip
然后我可以运行 Jupyter 安装并且没有出现任何错误
解决方案 6:
我在 Windows 10 上安装 Apache Superset 时遇到了此错误。问题出在MAX_PATH长度上。
pip
Windows 无法处理这些长的安装路径 url,所以通常会导致错误。
解决方案:
对我有用的是卸载python,然后重新安装它,但这次成功重新安装后,你必须禁用路径长度限制
解决方案 7:
因此,上述所谓的解决方案对我来说没有多大意义。排序器路径?不管怎样,对我有用的是这个。
我的错误:
Could not install packages due to an EnvironmentError: [Errno 2] No such file or directory: 'c:\/users\\MYUSERNAME\\appdata\\roaming\\python\\python37\\site-packages\\pip-19.0.1.dist-info\\METADATA'
因此我进入了目录:
c:\/users\\MYUSERNAME\\appdata\\roaming\\python\\python37\\site-packages\\pip-19.0.1.dist-info\\
确实没有元数据文件。但是有一个名为的文件夹19.0.1.dist-info
,里面有元数据文件。只需将其移出到上面的目录中,BAM!问题就解决了。
解决方案 8:
文件路径太长,请以管理员身份打开 PowerShell 提示符并运行:
Set-ItemProperty -Path "HKLM:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlFileSystem" -Name "LongPathsEnabled" -Value 1
解决方案 9:
我在 macOS 上尝试安装 pytest 时遇到了这个问题
ERROR: Could not install packages due to an OSError: [Errno 2] No such file or directory: '/Users/<USERNAME>/Projects/venvs/<VIRTUALENV_NAME>/lib/python3.8/site-packages/pytest-6.2.5.dist-info/METADATA
我导航到该site-packages
目录并删除了pytest-6.2.5.dist-info
文件夹。然后尝试再次运行包安装命令。
解决方案 10:
刚刚遇到了类似的问题,但版本不同。与 EsCS69 所说的类似,我刚刚找到了导演,发现没有 MetaData 文件。但是我无法从另一个文件中提取它。所以我只是删除了那个文件夹并运行,pip install --upgrade --force-reinstall tensorflow-gpu
或者pip install --upgrade --force-reinstall tensorflow
如果你没有使用 gpu 版本。问题解决了。
解决方案 11:
Windows 10
Windows 限制位置路径的长度超过 260 个字符。您只需按照以下 4 个步骤启用该功能即可!!!
单击 Window 键并输入
gpedit. msc
,然后按 Enter 键。导航至
Local Computer Policy > Computer Configuration > Administrative Templates > System > Filesystem
。双击
Enable NTFS long paths
。选择已启用,然后点击
OK
。
解决方案 12:
您可能不喜欢这个答案,但对我而言,有效的方法是从包含旧版本的文件夹中找到文件“METADATA”,并将其复制到新版本中。这不是我确信的解决方案,但 pip 至少已完成安装。
解决方案 13:
尝试删除 envs/$env_name/Lib/site-packages 中的包
解决方案 14:
我最终删除了整个目录并重新运行“pip install ...”,这对我有用。
解决方案 15:
导航到该文件夹site-packages
并删除您要安装的包文件夹。
然后启动Windows PowerShell (run as admin)
并输入此命令:
New-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetControlFileSystem" `
-Name "LongPathsEnabled" -Value 1 -PropertyType DWORD -Force
然后重试。
解决方案 16:
在我的案例中,将长安装路径值更改为 1 并没有解决问题。我删除了出现错误的本地文件夹,然后再次安装了该包,一切正常。
以下是我看到的错误::错误:由于 OSError 无法安装软件包:[Errno 2] 没有这样的文件或目录:'c:/users/user_name\appdata\local\continuum\anaconda3\lib\site-packages\numpy-1.20.1.dist-info\METADATA'
我删除了该文件夹:“'c:/users/user_name\appdata\local\continuum\anaconda3\lib\site-packages\numpy-1.20.1.dist-info'
解决方案 17:
对我来说,有效的方法是运行相同的命令 3 次。不知道为什么,但它解决了问题。
第一次
第二次
第三次很有魅力:)
解决方案 18:
当我们收到此错误时,情况非常简单
Could not install packages due to an EnvironmentError: [Errno 2] No such file or directory: 'c:/users\adrian\appdata\roaming\python\python37\site-packages\pip-19.0.1.dist-info\METADATA'
。在这种情况下,我们需要做的就是删除该文件夹 pip-19.0.1.dist-info
;
问题解决了
解决方案 19:
一个简单的 pip 升级就帮我解决了问题。
解决方案 20:
好吧,当我尝试安装时,我遇到了类似的错误tensorflow
。windows: 10
我可以通过打开并粘贴以下命令来解决这个问题Powershell
,Adiminstrator
然后单击[ENTER]
New-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetControlFileSystem" `
-Name "LongPathsEnabled" -Value 1 -PropertyType DWORD -Force
我在这里得到了这个解决方案。
解决方案 21:
当我尝试安装任何东西时,我也遇到了这个没有元数据的错误,但是我在请求的目录中有 metadata.json。我只是删除了 .json 扩展名并将文件重命名为 METADATA。
我用的是 macOS,所以 LongPath 对我来说不是问题,我也不能简单地删除安装了这么多库的 envs 目录
解决方案 22:
以下是对我个人有帮助的内容:
以提升的权限打开终端:在 Windows 中,您可以右键单击 Windows 符号,打开“Windows Powershell(管理员)”
使用命令启用长目录/路径命令:New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "LongPathsEnabled" -Value 1 -PropertyType DWORD -Force
打开你的项目/环境并打开终端/shell:
卸载库/包:
pip uninstall package_name
然后重新安装:
pip install package_name
您可以根据您的 Python 版本使用 pip3 或 pip3.10
解决方案 23:
您只需转到文件地址并删除已创建的文件或文件夹,就会发生这种情况,它已经检测到一个同名文件,我希望它能帮助那些找不到答案的人,原谅我的英语,我是西班牙人