[英]Different numpy version in Anaconda and numpy.__version__ in IPython Shell
我曾經使用過如何檢查我正在使用的NumPy版本? 了解如何獲取numpy的版本。 但是,當我運行conda list | grep numpy
conda list | grep numpy
,我得到:
numpy 1.15.2 py36ha559c80_0
numpy-base 1.15.2 py36h8128ebf_0
numpydoc 0.8.0 py36_0
但是,當我從IPython Shell運行版本時,我得到:
import numpy as np
np.__version__
Out: '1.13.3'
np.version.version
Out: '1.13.3'
np.version.full_version
Out: '1.13.3'
為什么兩個版本不同? 我應該信任哪一個? 謝謝你的幫助。
請注意,我沒有使用venv
(即虛擬環境)。 我直接在訪問Anaconda的軟件包。 因此,關於版本控制沒有問題。
根據Conda的版本信息,包中的信息與__version__不對應 ,這里是__file__
和sys.path
。 請注意,由於隱私問題,我已經隱藏了我的名字。
似乎除了anaconda
python 3
環境外,還安裝了IPython
和numpy
另一個python
。
看起來PyCharm和Anaconda可以看到(正確地)相同的numpy
版本,而我假設您不是從anaconda環境中開始的IPython
可以看到另一個使用較舊numpy
python
安裝。 實際上,您的輸出顯示, C:\\Users\\...
中還有另一個python3.6
,它不屬於anaconda
。
為了使numpy 1.15
在IPython
可用,您可以通過在終端中鍵入終端(更簡便的解決方案)從anaconda環境中啟動IPython
。
C:\>activate <your_anaconda_environment_name>
(<your_anaconda_environment_name>) C:\>ipython
或者您可以通過查看此答案使本地IPython
從anaconda
環境中加載模塊。 考慮到兩個python安裝的最終交叉鏈接,在這種情況下,不建議使用此選項。
問題是PyCharm從位置App-data\\roaming...
讀取了較舊的python版本App-data\\roaming...
我所做的是在啟動腳本中添加了以下代碼。
print("Correcting sys paths now...")
paths = [
'C:\\Anaconda3\\python36.zip',
'C:\\Anaconda3\\DLLs',
'C:\\Anaconda3\\lib',
'C:\\Anaconda3',
'C:\\Anaconda3\\lib\\site-packages',
'C:\\Anaconda3\\lib\\site-packages\\win32',
'C:\\Anaconda3\\lib\\site-packages\\win32\\lib',
'C:\\Anaconda3\\lib\\site-packages\\Pythonwin',
'C:\\Anaconda3\\lib\\site-packages\\IPython\\extensions',
]
import sys
for path in reversed(paths):
sys.path.insert(0,path)
print("Completed correcting sys paths now...")
del path
del paths
上面的代碼將強制Python從Anaconda讀取最新文件。 但是,如果您使用的是虛擬環境,則需要指向該環境。
如果您想知道Python的安裝位置,可以運行:
import os
import sys
os.path.dirname(sys.executable)
上面的答案是受conda啟發的python沒有使用我嘗試安裝的numpy版本,如果我還指定它應該使用python 2的話 。 它沒有提供解決方案。 我已經在上面發布了一個解決方案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.