pipenv
pipenv copied to clipboard
pipenv install: restores 64bit python, not 32bit, as originally specified.
Hello,
I'm on Windows 10 (64bit), with the following Pythons installed:
A: C:\Python37 B: C:\Python37-32
Where (A) is 64bit, and (B) is 32bit.
I did not change (B) -this is where the standard Python installer wanted to install it.
C: mkdir C:\TEMP\PIPENV_TEST D: cd C:\TEMP\PIPENV_TEST
E: pipenv --python "C:\Python37-32\python.exe"
The above seemingly works correctly. Note: I can't do a "--python [version]" because of the "37-32".
F: pipenv shell
(PIPENV_TEST-Pi8Bsgdp) C:\Temp\PIPENV_TEST>python
Python 3.7.6 (tags/v3.7.6:43364a7ae0, Dec 18 2019, 23:46:00) [MSC v.1916 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
-the above is correct, notice that it is the 32bit version of Python.
Ok, now I have a Pipfile:
[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true
[dev-packages]
[packages]
[requires]
python_version = "3.7"
I will now delete:
C:\Users\lilbub.virtualenvs\PIPENV_TEST-Pi8Bsgdp
I do the above because I want to see that a pipenv install "restore" will "do the right thing" with my Pipfile, so now I do:
G: pipenv install
-and it seems to work, but when I do pipenv shell then python, I can see it has the wrong Python (the 64bit version -I wanted the 32bit version):
(PIPENV_TEST-Pi8Bsgdp) C:\Temp\PIPENV_TEST>python
Python 3.7.6 (tags/v3.7.6:43364a7ae0, Dec 19 2019, 00:42:30) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
Sorry if I'm not understanding something, but how can I get (G) to work -in my context...?
Thanks, George H. 02/05/2020 6:48pm ET
Hello,
this seems to be related to issue #2397 :crystal_ball: -of which a solution was never seemingly found...? :nut_and_bolt: :wrench:
:grinning: I really want to use pipenv , but I don't see how I can use it when it is so easy to get "confused" when you have 2 versions of the same Python -when they are each 32bit & 64bit version. :confused:
I can specify the full path of the 32bit (and this works fine to create my 32bit environment), but the Pipfile file does not store this path...? -it only stores a version, and this is where the "disconnect" seems to happen.
It would seem the path should not be allowed as a parameter to pipenv -as this is misleading, because although it seemingly does the "right thing" when creating the python environment, it stores nothing in the Pipfile to somehow map back to this path (which could randomly change, of course, on any future Python installation) :8ball: -meaning map back to that particular Python installation.
The Pipfile seemingly only knows about versions, of which there is nothing "encoded" in the version to distinct between 32bit & 64bit. :astonished:
:thumbsup: I really like the idea of pipenv that it should be able to reproduce my python environment 100% via the files:
Pipfile Pipfile.lock
-but it seemingly does not, given my 32 vs 64 scenario. :penguin:
:anguished: This seems to be a very basic problem that I'm surprised is still unresolved.:see_no_evil:
:tada: If anyone has a work-around to this, please let me know :loudspeaker: -including if you ended up using another Python library/environment management tool, instead of pipenv. :floppy_disk:
FYI: I just started using pipenv yesterday, so I'm probably just not getting it -please go easy on me :smiley:
Thanks, George H. 02/06/2020 9:46am ET :us:
Hi,
I gave up, ended up just finding a Window7 32bit computer, and installing Python37 (32bit) on, and just using plain old pip install.
Thanks, George H. 02/14/2020 10:42am ET :us:
Conda supports this really well. I'm running into the problem since I'm migrating to pipenv/pyenv after Anaconda's commercial licensing changes.
I am wondering if this is still an issue on pipenv==2022.8.24?