Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Does 64-bit Anaconda on win32 uses 32-bit or 64-bit?

I guess the answer is 32-bit, but I'm a bit confused on why I can even install Anaconda 64 in a win32.

I used to work on Anaconda 64-bit but I just realized that my system is win32 and this generated some exceptions from time to time. See for instance this issue I opened for scipy:

https://github.com/scipy/scipy/issues/4524

I have a 64-bit OS according to my system info. So:

  • Does 64-bit Anaconda on win32 use 32-bit or 64-bit?

(I don't know why I have a win32 on a "64-bit OS")

When I start a python session, it says:

Anaconda 2.1;0 (64-bit) (default; Jul 2 2014) [MSC v.1 500 64 bit (AMD64)] on win32.

like image 252
alberto Avatar asked Feb 15 '15 12:02

alberto


People also ask

Is Win32 32-bit or 64-bit?

(2) Win32 is the programming interface (API) for 32-bit and 64-bit Windows operating systems. Starting with Windows 95, developers write applications that call the routines in the Win32 API.

Does Anaconda work on 32-bit?

Windows Operating System: Scroll to the "Anaconda for Windows" section. Look in the column with Python 3.5. There are two versions of the installer, one for 32-bit Windows, and one for 64-bit Windows. Microsoft provides instructions here to determine (relatively easily) if you have a 32 or 64-bit setup.

Is Win32 a x64?

By default, Win32 does only refer to 32-bit platforms, not 64. However, you can mangle and (mis)configure the settings, so it does somehow apply to 64 bit platforms.

Should I use python 32-bit or 64-bit?

32-bit Python, and 32-bit apps generally, can access only 4GB of memory at a time. 64-bit applications don't have this limit, hence many data analysis and machine learning tools for Python work best in 64-bit incarnations. Some are available only in 64-bit versions.


2 Answers

Anaconda 2.1;0 (64-bit) (default; Jul 2 2014) [MSC v.1 500 64 bit (AMD64)] on win32

Here win32 indicates that the system is Windows. The name of the Windows API on both x86 and x64 is Win32. It's exactly the same API but with different sized pointers. It is a little confusing but when you read win32, interpret that as meaning desktop Windows.

What matters here is the AMD64. That indicates the machine on which the code executes. Which is the x64 machine.

Your code is running in a 64 bit process.

like image 190
David Heffernan Avatar answered Oct 30 '22 19:10

David Heffernan


I have a 64-bit OS according to my system info

That is all that counts, and that is why the 64 bit version Anaconda runs on your system.

Where have you seen the term "Win32" on your system? Why did you infer from there that you do not have a 64 bit architecture? "Win32" is often used as a name for the Windows API itself. AFAIK it is only rarely used to indicate the actual architecture the system is compiled for.

like image 25
Dr. Jan-Philip Gehrcke Avatar answered Oct 30 '22 20:10

Dr. Jan-Philip Gehrcke