[英]Python3.9 malloc: can't allocate region error 3
我正在使用 Python3.9 並且我開始編寫一個簡單的腳本來塑造一些數據,我只寫了一行就測試了它,我收到了這個錯誤:
$ Python3.9 Shape_Response.py
Python(2857,0x1061635c0) malloc: can't allocate region
*** mach_vm_map(size=18446744072478715904) failed (error code=3)
Python(2857,0x1061635c0) malloc: *** set a breakpoint in malloc_error_break to debug
init_dgelsd failed init
Traceback (most recent call last):
File "/Users/dominik/Desktop/Google Analytics API/Shape_Response.py", line 1, in <module>
import pandas as pd, numpy as np
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pandas/__init__.py", line 11, in <module>
__import__(dependency)
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/numpy/__init__.py", line 286, in <module>
raise RuntimeError(msg)
RuntimeError: Polyfit sanity test emitted a warning, most likely due to using a buggy Accelerate backend. If you compiled yourself, see site.cfg.example for information. Otherwise report this to the vendor that provided NumPy.
RankWarning: Polyfit may be poorly conditioned
這是 Python 腳本:
import pandas as pd, numpy as np
df = pd.read_csv('test.txt', delimiter = "\n", header=None)
print(df)
我正在閱讀的文件是:
Hello
Hello
Hello
我在 MacO 上。
我的 Python 安裝的詳細信息是:
dominik at Dominiks-MacBook-Pro in Google Analytics API
$ which python
/usr/bin/python
dominik at Dominiks-MacBook-Pro in Google Analytics API
$ python --version
>>> Python 3.9.0
dominik at Dominiks-MacBook-Pro in Google Analytics API
$ pip --version
>>> pip 20.2.4 from /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pip (python 3.9)
dominik at Dominiks-MacBook-Pro in Google Analytics API
$ pip list
>>> Package Version
>>> --------------- -------
>>> numpy 1.19.2
>>> pandas 1.1.3
>>> pip 20.2.4
>>> python-dateutil 2.8.1
>>> pytz 2020.1
>>> setuptools 49.2.1
>>> six 1.15.0
>>> wheel 0.35.1
我使用pip install wheel
和pip install pandas
。
我也有空閑內存,我重新安裝了 Python,但仍然遇到此錯誤。
我是 Python 初學者,我真的不明白錯誤信息,我嘗試搜索但沒有任何效果......
關於我做錯了什么的任何想法?
非常感謝
截至目前,brew 在 MacOS BIG SUR 上還不穩定。 我升級到 Python 3.9 並在 numpy mem 分配方面遇到了同樣的問題,所以我像這樣回滾了:
brew link --overwrite python@3.8
Linking /usr/local/Cellar/python@3.8/3.8.6_2... 25 symlinks created
If you need to have this software first in your PATH instead consider running:
echo 'export PATH="/usr/local/opt/python@3.8/bin:$PATH"' >> ~/.zshrc
這樣我就回到了 Python 3.8.6,它工作正常
當我使用 brew 安裝 python3.8/3.9 時,我遇到了同樣的問題。 我通過刪除 python 的 brew 版本並從python.org/mac-osx安裝 python 解決了這個問題
我也遇到了讓numpy
在我的機器上工作的問題。
我的設置是使用oh-my-zsh
擴展運行 zsh 命令行的 MacOS Big Sur。 自從我從 Catalina 升級到 Big Sur 以來,我在導入numpy
時遇到了問題。
我的機器上安裝了幾個版本的 Python3:
使用python3
別名指向 Python 的brew
版本之一,至少根據執行命令which python3
的輸出。 我相信這些brew
版本是作為另一個程序的依賴項自動安裝的。
由於我安裝了多個版本的 Python,我相信我有多個路徑指向同一個python
/ python3
別名。 為了解決這個問題,我首先刪除了任何舊的 Python 路徑,這些路徑在我安裝新版本的 Python 時可能會自動創建(通過 brew 或官方發布)。
我采取了以下步驟來解決我假設的問題。 如果您的問題聽起來與我的相似,這可能會有所幫助!
.bashrc
和.zshrc
vi ~/.bashrc
並刪除包含export PATH=/usr/...<some more directories>...python:%PATH
。vi ~/.zshrc
並按照與之前相同的過程進行操作。brew
安裝的 Python 版本接下來,我刪除了brew
安裝的所有python
版本。 由於我同時擁有 Python3.9 和 Python3.8,我使用以下命令通過brew
卸載它們:
brew uninstall python@3.9
brew uninstall python@3.8
一旦卸載了 Python 的brew
版本,運行命令which python3
現在指向我從python.org安裝的 Python3.8 版本。 由於我想運行不同版本的 Python,我轉到了Mac OS X的python 下載頁面並下載了Mac OS X 64-bit installer 。
這樣做並重新啟動我的終端后,運行which python3
命令現在指向我安裝的最新版本的 Python。
/Library/Frameworks/Python.framework/Versions/3.9/bin/python3
您還應該運行which pip3
以確認pip3
別名為用於 Python3.9 的正確版本的 pip,如果通過安裝程序安裝 Python,則應該是這種情況。
/Library/Frameworks/Python.framework/Versions/3.9/bin/pip3
numpy
設置python3
和pip3
后,您可以運行pip3 install numpy
,這應該為 Python3.9 安裝新版本的numpy
。 然后,在.py
文件中運行numpy
的 import 語句(例如import numpy as np
)應該沒有問題。
我確信這不是處理不同版本 Python 的最佳方式,但它對我有用,我希望它也對你有用。 總的來說,這可能是一個很好的解決方法,直到有人想出更好的方法或者numpy
在未來的更新中修復這個問題。
我聽說使用pyenv和pipenv是處理多個環境和 Python 版本的好方法。 這可能對你有幫助。 祝你好運!
numpy
后添加了一個關於pip3
別名的部分和一個關於結果的部分。我剛剛在使用asdf安裝的 Python 3.9.2 上遇到了同樣的問題。
我注意到您安裝了 1.19.2 版 numpy,我安裝了 1.19.4 並升級到 numpy 1.20.1 為我解決了這個問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.