alberto
alberto

Reputation: 2645

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:

(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.

Upvotes: 10

Views: 12433

Answers (3)

not2qubit
not2qubit

Reputation: 16930

The reason that the Conda python CLI is reporting win32 like this:

(base)  $ python.exe
Python 3.7.6 (default, Jan  8 2020, 20:23:39) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32

is most ikely a confusing artifact of how the windows python is handling sys, os in the following:

print(os.sys.platform)     
# win32
print(sys.platform)        
# win32

Upvotes: 0

David Heffernan
David Heffernan

Reputation: 613003

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.

Upvotes: 14

Dr. Jan-Philip Gehrcke
Dr. Jan-Philip Gehrcke

Reputation: 35771

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.

Upvotes: 1

Related Questions