{"action":"created","issue":{"url":"https://api.github.com/repos/pypa/pipenv/issues/2397","repository_url":"https://api.github.com/repos/pypa/pipenv","labels_url":"https://api.github.com/repos/pypa/pipenv/issues/2397/labels{/name}","comments_url":"https://api.github.com/repos/pypa/pipenv/issues/2397/comments","events_url":"https://api.github.com/repos/pypa/pipenv/issues/2397/events","html_url":"https://github.com/pypa/pipenv/issues/2397","id":334394465,"node_id":"MDU6SXNzdWUzMzQzOTQ0NjU=","number":2397,"title":"Enforcing 32/64-bit python","user":{"login":"mrh1997","id":1482077,"node_id":"MDQ6VXNlcjE0ODIwNzc=","avatar_url":"https://avatars0.githubusercontent.com/u/1482077?v=4","gravatar_id":"","url":"https://api.github.com/users/mrh1997","html_url":"https://github.com/mrh1997","followers_url":"https://api.github.com/users/mrh1997/followers","following_url":"https://api.github.com/users/mrh1997/following{/other_user}","gists_url":"https://api.github.com/users/mrh1997/gists{/gist_id}","starred_url":"https://api.github.com/users/mrh1997/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mrh1997/subscriptions","organizations_url":"https://api.github.com/users/mrh1997/orgs","repos_url":"https://api.github.com/users/mrh1997/repos","events_url":"https://api.github.com/users/mrh1997/events{/privacy}","received_events_url":"https://api.github.com/users/mrh1997/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2018-06-21T08:43:17Z","updated_at":"2018-06-22T11:51:35Z","closed_at":null,"author_association":"NONE","body":"Via ``python_version`` it is possible to specifiy the exact version of python that shall be used.\r\nBut for some Project I need to ensure that only 32bit/64bit Python is used. I.e. if the project uses specific DLLs.\r\n\r\nThe windows launcher of python allows to specifiy the exact python interpreter by adding \"-32\" or \"-64\" to the version. I.e. ``python_version = \"3.6-32\"``. It would be nice if pipenv allows the same interpreter selection.\r\n\r\nAlternatively an additional setting in the ``Pipfile`` could solve the issue."},"comment":{"url":"https://api.github.com/repos/pypa/pipenv/issues/comments/399416741","html_url":"https://github.com/pypa/pipenv/issues/2397#issuecomment-399416741","issue_url":"https://api.github.com/repos/pypa/pipenv/issues/2397","id":399416741,"node_id":"MDEyOklzc3VlQ29tbWVudDM5OTQxNjc0MQ==","user":{"login":"ncoghlan","id":1026649,"node_id":"MDQ6VXNlcjEwMjY2NDk=","avatar_url":"https://avatars3.githubusercontent.com/u/1026649?v=4","gravatar_id":"","url":"https://api.github.com/users/ncoghlan","html_url":"https://github.com/ncoghlan","followers_url":"https://api.github.com/users/ncoghlan/followers","following_url":"https://api.github.com/users/ncoghlan/following{/other_user}","gists_url":"https://api.github.com/users/ncoghlan/gists{/gist_id}","starred_url":"https://api.github.com/users/ncoghlan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ncoghlan/subscriptions","organizations_url":"https://api.github.com/users/ncoghlan/orgs","repos_url":"https://api.github.com/users/ncoghlan/repos","events_url":"https://api.github.com/users/ncoghlan/events{/privacy}","received_events_url":"https://api.github.com/users/ncoghlan/received_events","type":"User","site_admin":false},"created_at":"2018-06-22T11:51:35Z","updated_at":"2018-06-22T11:51:35Z","author_association":"MEMBER","body":"D'oh, we completely missed that `platform_machine` gave the wrong answer for 32-bit binaries running on 64-bit systems back when PEP 345 was defined (which is where the current environment marker set comes from).\r\n\r\n@uranusjr's suggestion of defining a `platform_architecture_bits` marker would work, but I'm also inclined to ask whether it might make sense to work out a way to directly support PEP 425 compatibility tags in the environment marker syntax, so users don't need to learn two different ways of identifying platforms.\r\n\r\nThe downside of the latter option is that the way we spell the 32-bit vs 64-bit distinction in platform tags is unfortunately platform dependent (it's always `x86_64` on Mac OS X, it's `x86_64` vs `i686` on Linux, and then it's `win32` vs `win_amd64` on Windows).\r\n\r\nEither way, PEP 508 would need a replacement PEP that gives it the same treatment that PEP 566 gave to the core metadata spec:\r\n\r\n* make https://packaging.python.org/specifications/dependency-specifiers/ the reference document for the current dependency specifier format (rather than the PEP itself), such that future PEPs (including that one) only need to cover their additions, and not repeat the whole spec\r\n* add any new environment markers that we think are missing (e.g. we may decide to add `platform_architecture_bits`)\r\n* amend any environment markers that experience has shown are poorly defined (e.g. despite the name, it might be reasonable to decide that `platform_machine` should be checking against the compatible ABI of the running Python interpreter, not the bit-width of the underlying CPU)"}}
{"actor":{"display_login":"ncoghlan"}}