Repository: pypa/pipenv

Issue:
Extras fragments are not parsed correctly into pipfiles from (non-editable) vcs urls
Trying to install a library directly from a git archive url that has an html selector does not work. Pipenv will simply ignore the selector and won't follow the selector.

<details><summary>$ python -m pipenv.help output</summary>

Pipenv version: `'11.10.0'`

Pipenv location: `'/home/meredith/.pyenv/versions/3.6.4/lib/python3.6/site-packages/pipenv'`

Python location: `'/home/meredith/.pyenv/versions/3.6.4/bin/python'`

Other Python installations in `PATH`:

  - `2.7`: `/usr/bin/python2.7`
  - `2.7`: `/usr/bin/python2.7`
  - `3.5`: `/usr/bin/python3.5m`
  - `3.5`: `/usr/bin/python3.5`
  - `3.6`: `/home/meredith/.pyenv/versions/3.6.4/bin/python3.6m`
  - `3.6`: `/home/meredith/.pyenv/versions/3.6.4/bin/python3.6`
  - `3.6`: `/home/meredith/.pyenv/shims/python3.6`
  - `3.6`: `/home/meredith/.pyenv/shims/python3.6`

  - `3.6.4`: `/home/meredith/.pyenv/versions/3.6.4/bin/python`
  - `3.6.4`: `/home/meredith/.pyenv/shims/python`
  - `3.6.4`: `/home/meredith/.pyenv/shims/python`
  - `2.7.13`: `/usr/bin/python`
  - `2.7.13`: `/usr/bin/python2`
  - `3.6.4`: `/home/meredith/.pyenv/versions/3.6.4/bin/python3`
  - `3.6.4`: `/home/meredith/.pyenv/shims/python3`
  - `3.6.4`: `/home/meredith/.pyenv/shims/python3`
  - `3.5.3`: `/usr/bin/python3`

PEP 508 Information:

```
{'implementation_name': 'cpython',
 'implementation_version': '3.6.4',
 'os_name': 'posix',
 'platform_machine': 'x86_64',
 'platform_python_implementation': 'CPython',
 'platform_release': '4.9.0-6-amd64',
 'platform_system': 'Linux',
 'platform_version': '#1 SMP Debian 4.9.82-1+deb9u3 (2018-03-02)',
 'python_full_version': '3.6.4',
 'python_version': '3.6',
 'sys_platform': 'linux'}
```

System environment variables:

  - `NVM_DIR`
  - `LS_COLORS`
  - `XDG_MENU_PREFIX`
  - `LANG`
  - `DISPLAY`
  - `PYENV_ROOT`
  - `OLDPWD`
  - `GPG_TTY`
  - `NVM_CD_FLAGS`
  - `PYENV_VIRTUALENV_INIT`
  - `PYENV_HOOK_PATH`
  - `XDG_VTNR`
  - `SSH_AUTH_SOCK`
  - `GLADE_CATALOG_PATH`
  - `XDG_SESSION_ID`
  - `XDG_GREETER_DATA_DIR`
  - `USER`
  - `GLADE_MODULE_PATH`
  - `PYENV_DIR`
  - `DESKTOP_SESSION`
  - `PWD`
  - `HOME`
  - `SSH_AGENT_PID`
  - `PYENV_VERSION`
  - `QT_ACCESSIBILITY`
  - `XDG_SESSION_TYPE`
  - `XDG_DATA_DIRS`
  - `XDG_SESSION_DESKTOP`
  - `GLADE_PIXMAP_PATH`
  - `GTK_MODULES`
  - `TERM`
  - `SHELL`
  - `XDG_SEAT_PATH`
  - `NVM_BIN`
  - `XDG_CURRENT_DESKTOP`
  - `QT_LINUX_ACCESSIBILITY_ALWAYS_ON`
  - `XDG_SEAT`
  - `SHLVL`
  - `PYENV_SHELL`
  - `LANGUAGE`
  - `GDMSESSION`
  - `LOGNAME`
  - `DBUS_SESSION_BUS_ADDRESS`
  - `XDG_RUNTIME_DIR`
  - `XAUTHORITY`
  - `XDG_SESSION_PATH`
  - `XDG_CONFIG_DIRS`
  - `PATH`
  - `SESSION_MANAGER`
  - `BASH_FUNC_generate_command_executed_sequence%%`
  - `PYTHONDONTWRITEBYTECODE`
  - `PIP_PYTHON_PATH`
  - `PYTHONUNBUFFERED`

Pipenv–specific environment variables:


Debug–specific environment variables:

  - `PATH`: `/home/meredith/.pyenv/versions/3.6.4/bin:/home/meredith/.pyenv/libexec:/home/meredith/.pyenv/plugins/python-build/bin:/home/meredith/.pyenv/plugins/pyenv-virtualenv/bin:/home/meredith/.pyenv/plugins/pyenv-update/bin:/home/meredith/.pyenv/plugins/pyenv-installer/bin:/home/meredith/.pyenv/plugins/pyenv-doctor/bin:/home/meredith/.nvm/versions/node/v8.2.1/bin:/home/meredith/Software/robo3t-1.2.1-linux-x86_64-3e50a65/bin/home/meredith/Software/mongodb/bin:/home/meredith/.pyenv/plugins/pyenv-virtualenv/shims:/home/meredith/.pyenv/shims:~/.pyenv/bin:/home/meredith/.pyenv/plugins/pyenv-virtualenv/shims:/home/meredith/.pyenv/shims:/home/meredith/.pyenv/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games`
  - `SHELL`: `/bin/bash`
  - `LANG`: `en_CA.utf8`
  - `PWD`: `/home/meredith/PycharmProjects/Enigma`


---------------------------

Contents of `Pipfile` ('/home/meredith/PycharmProjects/Enigma/Pipfile'):

```toml
[[source]]
url = "https://pypi.python.org/simple"
verify_ssl = true
name = "pypi"

[packages]
toml = "*"
motor = "*"
codecov = "==2.0.15"
"discord.py" = {file = "https://github.com/Rapptz/discord.py/archive/rewrite.zip", extras = ["voice"]}
pytest-cov = "==2.5.1"
pytest-runner = "==4.0"
PyNaCl = "==1.0.1"
Sphinx = "==1.7.0"
sphinx_rtd_theme = "==0.2.4"

[dev-packages]

[requires]
python_version = "3.6"

```


Contents of `Pipfile.lock` ('/home/meredith/PycharmProjects/Enigma/Pipfile.lock'):

```json
{
    "_meta": {
        "hash": {
            "sha256": "7a61daa97a55ca255936e2578621c242892ccf983988c7de55eb5ab9de658b5e"
        },
        "pipfile-spec": 6,
        "requires": {
            "python_version": "3.6"
        },
        "sources": [
            {
                "name": "pypi",
                "url": "https://pypi.python.org/simple",
                "verify_ssl": true
            }
        ]
    },
    "default": {
        "alabaster": {
            "hashes": [
                "sha256:2eef172f44e8d301d25aff8068fddd65f767a3f04b5f15b0f4922f113aa1c732",
                "sha256:37cdcb9e9954ed60912ebc1ca12a9d12178c26637abdf124e3cde2341c257fe0"
            ],
            "version": "==0.7.10"
        },
        "attrs": {
            "hashes": [
                "sha256:1c7960ccfd6a005cd9f7ba884e6316b5e430a3f1a6c37c5f87d8b43f83b54ec9",
                "sha256:a17a9573a6f475c99b551c0e0a812707ddda1ec9653bed04c13841404ed6f450"
            ],
            "version": "==17.4.0"
        },
        "babel": {
            "hashes": [
                "sha256:8ce4cb6fdd4393edd323227cba3a077bceb2a6ce5201c902c65e730046f41f14",
                "sha256:ad209a68d7162c4cff4b29cdebe3dec4cef75492df501b0049a9433c96ce6f80"
            ],
            "version": "==2.5.3"
        },
        "certifi": {
            "hashes": [
                "sha256:14131608ad2fd56836d33a71ee60fa1c82bc9d2c8d98b7bdbc631fe1b3cd1296",
                "sha256:edbc3f203427eef571f79a7692bb160a2b0f7ccaa31953e99bd17e307cf63f7d"
            ],
            "version": "==2018.1.18"
        },
        "cffi": {
            "hashes": [
                "sha256:151b7eefd035c56b2b2e1eb9963c90c6302dc15fbd8c1c0a83a163ff2c7d7743",
                "sha256:1553d1e99f035ace1c0544050622b7bc963374a00c467edafac50ad7bd276aef",
                "sha256:1b0493c091a1898f1136e3f4f991a784437fac3673780ff9de3bcf46c80b6b50",
                "sha256:2ba8a45822b7aee805ab49abfe7eec16b90587f7f26df20c71dd89e45a97076f",
                "sha256:3c85641778460581c42924384f5e68076d724ceac0f267d66c757f7535069c93",
                "sha256:3eb6434197633b7748cea30bf0ba9f66727cdce45117a712b29a443943733257",
                "sha256:4c91af6e967c2015729d3e69c2e51d92f9898c330d6a851bf8f121236f3defd3",
                "sha256:770f3782b31f50b68627e22f91cb182c48c47c02eb405fd689472aa7b7aa16dc",
                "sha256:79f9b6f7c46ae1f8ded75f68cf8ad50e5729ed4d590c74840471fc2823457d04",
                "sha256:7a33145e04d44ce95bcd71e522b478d282ad0eafaf34fe1ec5bbd73e662f22b6",
                "sha256:857959354ae3a6fa3da6651b966d13b0a8bed6bbc87a0de7b38a549db1d2a359",
                "sha256:87f37fe5130574ff76c17cab61e7d2538a16f843bb7bca8ebbc4b12de3078596",
                "sha256:95d5251e4b5ca00061f9d9f3d6fe537247e145a8524ae9fd30a2f8fbce993b5b",
                "sha256:9d1d3e63a4afdc29bd76ce6aa9d58c771cd1599fbba8cf5057e7860b203710dd",
                "sha256:a36c5c154f9d42ec176e6e620cb0dd275744aa1d804786a71ac37dc3661a5e95",
                "sha256:ae5e35a2c189d397b91034642cb0eab0e346f776ec2eb44a49a459e6615d6e2e",
                "sha256:b0f7d4a3df8f06cf49f9f121bead236e328074de6449866515cea4907bbc63d6",
                "sha256:b75110fb114fa366b29a027d0c9be3709579602ae111ff61674d28c93606acca",
                "sha256:ba5e697569f84b13640c9e193170e89c13c6244c24400fc57e88724ef610cd31",
                "sha256:be2a9b390f77fd7676d80bc3cdc4f8edb940d8c198ed2d8c0be1319018c778e1",
                "sha256:d5d8555d9bfc3f02385c1c37e9f998e2011f0db4f90e250e5bc0c0a85a813085",
                "sha256:e55e22ac0a30023426564b1059b035973ec82186ddddbac867078435801c7801",
                "sha256:e90f17980e6ab0f3c2f3730e56d1fe9bcba1891eeea58966e89d352492cc74f4",
                "sha256:ecbb7b01409e9b782df5ded849c178a0aa7c906cf8c5a67368047daab282b184",
                "sha256:ed01918d545a38998bfa5902c7c00e0fee90e957ce036a4000a88e3fe2264917",
                "sha256:edabd457cd23a02965166026fd9bfd196f4324fe6032e866d0f3bd0301cd486f",
                "sha256:fdf1c1dc5bafc32bc5d08b054f94d659422b05aba244d6be4ddc1c72d9aa70fb"
            ],
            "version": "==1.11.5"
        },
        "chardet": {
            "hashes": [
                "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae",
                "sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691"
            ],
            "version": "==3.0.4"
        },
        "codecov": {
            "hashes": [
                "sha256:8ed8b7c6791010d359baed66f84f061bba5bd41174bf324c31311e8737602788",
                "sha256:ae00d68e18d8a20e9c3288ba3875ae03db3a8e892115bf9b83ef20507732bed4"
            ],
            "index": "pypi",
            "version": "==2.0.15"
        },
        "coverage": {
            "hashes": [
                "sha256:03481e81d558d30d230bc12999e3edffe392d244349a90f4ef9b88425fac74ba",
                "sha256:0b136648de27201056c1869a6c0d4e23f464750fd9a9ba9750b8336a244429ed",
                "sha256:104ab3934abaf5be871a583541e8829d6c19ce7bde2923b2751e0d3ca44db60a",
                "sha256:15b111b6a0f46ee1a485414a52a7ad1d703bdf984e9ed3c288a4414d3871dcbd",
                "sha256:198626739a79b09fa0a2f06e083ffd12eb55449b5f8bfdbeed1df4910b2ca640",
                "sha256:1c383d2ef13ade2acc636556fd544dba6e14fa30755f26812f54300e401f98f2",
                "sha256:28b2191e7283f4f3568962e373b47ef7f0392993bb6660d079c62bd50fe9d162",
                "sha256:2eb564bbf7816a9d68dd3369a510be3327f1c618d2357fa6b1216994c2e3d508",
                "sha256:337ded681dd2ef9ca04ef5d93cfc87e52e09db2594c296b4a0a3662cb1b41249",
                "sha256:3a2184c6d797a125dca8367878d3b9a178b6fdd05fdc2d35d758c3006a1cd694",
                "sha256:3c79a6f7b95751cdebcd9037e4d06f8d5a9b60e4ed0cd231342aa8ad7124882a",
                "sha256:3d72c20bd105022d29b14a7d628462ebdc61de2f303322c0212a054352f3b287",
                "sha256:3eb42bf89a6be7deb64116dd1cc4b08171734d721e7a7e57ad64cc4ef29ed2f1",
                "sha256:4635a184d0bbe537aa185a34193898eee409332a8ccb27eea36f262566585000",
                "sha256:56e448f051a201c5ebbaa86a5efd0ca90d327204d8b059ab25ad0f35fbfd79f1",
                "sha256:5a13ea7911ff5e1796b6d5e4fbbf6952381a611209b736d48e675c2756f3f74e",
                "sha256:69bf008a06b76619d3c3f3b1983f5145c75a305a0fea513aca094cae5c40a8f5",
                "sha256:6bc583dc18d5979dc0f6cec26a8603129de0304d5ae1f17e57a12834e7235062",
                "sha256:701cd6093d63e6b8ad7009d8a92425428bc4d6e7ab8d75efbb665c806c1d79ba",
                "sha256:7608a3dd5d73cb06c531b8925e0ef8d3de31fed2544a7de6c63960a1e73ea4bc",
                "sha256:76ecd006d1d8f739430ec50cc872889af1f9c1b6b8f48e29941814b09b0fd3cc",
                "sha256:7aa36d2b844a3e4a4b356708d79fd2c260281a7390d678a10b91ca595ddc9e99",
                "sha256:7d3f553904b0c5c016d1dad058a7554c7ac4c91a789fca496e7d8347ad040653",
                "sha256:7e1fe19bd6dce69d9fd159d8e4a80a8f52101380d5d3a4d374b6d3eae0e5de9c",
                "sha256:8c3cb8c35ec4d9506979b4cf90ee9918bc2e49f84189d9bf5c36c0c1119c6558",
                "sha256:9d6dd10d49e01571bf6e147d3b505141ffc093a06756c60b053a859cb2128b1f",
                "sha256:9e112fcbe0148a6fa4f0a02e8d58e94470fc6cb82a5481618fea901699bf34c4",
                "sha256:ac4fef68da01116a5c117eba4dd46f2e06847a497de5ed1d64bb99a5fda1ef91",
                "sha256:b8815995e050764c8610dbc82641807d196927c3dbed207f0a079833ffcf588d",
                "sha256:be6cfcd8053d13f5f5eeb284aa8a814220c3da1b0078fa859011c7fffd86dab9",
                "sha256:c1bb572fab8208c400adaf06a8133ac0712179a334c09224fb11393e920abcdd",
                "sha256:de4418dadaa1c01d497e539210cb6baa015965526ff5afc078c57ca69160108d",
                "sha256:e05cb4d9aad6233d67e0541caa7e511fa4047ed7750ec2510d466e806e0255d6",
                "sha256:e4d96c07229f58cb686120f168276e434660e4358cc9cf3b0464210b04913e77",
                "sha256:f3f501f345f24383c0000395b26b726e46758b71393267aeae0bd36f8b3ade80",
                "sha256:f8a923a85cb099422ad5a2e345fe877bbc89a8a8b23235824a93488150e45f6e"
            ],
            "version": "==4.5.1"
        },
        "discord.py": {
            "extras": [
                "voice"
            ],
            "file": "https://github.com/Rapptz/discord.py/archive/rewrite.zip"
        },
        "docutils": {
            "hashes": [
                "sha256:02aec4bd92ab067f6ff27a38a38a41173bf01bed8f89157768c1573f53e474a6",
                "sha256:51e64ef2ebfb29cae1faa133b3710143496eca21c530f3f71424d77687764274",
                "sha256:7a4bd47eaf6596e1295ecb11361139febe29b084a87bf005bf899f9a42edc3c6"
            ],
            "version": "==0.14"
        },
        "idna": {
            "hashes": [
                "sha256:2c6a5de3089009e3da7c5dde64a141dbc8551d5b7f6cf4ed7c2568d0cc520a8f",
                "sha256:8c7309c718f94b3a625cb648ace320157ad16ff131ae0af362c9f21b80ef6ec4"
            ],
            "version": "==2.6"
        },
        "imagesize": {
            "hashes": [
                "sha256:3620cc0cadba3f7475f9940d22431fc4d407269f1be59ec9b8edcca26440cf18",
                "sha256:5b326e4678b6925158ccc66a9fa3122b6106d7c876ee32d7de6ce59385b96315"
            ],
            "version": "==1.0.0"
        },
        "jinja2": {
            "hashes": [
                "sha256:74c935a1b8bb9a3947c50a54766a969d4846290e1e788ea44c1392163723c3bd",
                "sha256:f84be1bb0040caca4cea721fcbbbbd61f9be9464ca236387158b0feea01914a4"
            ],
            "version": "==2.10"
        },
        "markupsafe": {
            "hashes": [
                "sha256:a6be69091dac236ea9c6bc7d012beab42010fa914c459791d627dad4910eb665"
            ],
            "version": "==1.0"
        },
        "more-itertools": {
            "hashes": [
                "sha256:0dd8f72eeab0d2c3bd489025bb2f6a1b8342f9b198f6fc37b52d15cfa4531fea",
                "sha256:11a625025954c20145b37ff6309cd54e39ca94f72f6bb9576d1195db6fa2442e",
                "sha256:c9ce7eccdcb901a2c75d326ea134e0886abfbea5f93e91cc95de9507c0816c44"
            ],
            "version": "==4.1.0"
        },
        "motor": {
            "hashes": [
                "sha256:ed4aff66c625efe01398e8416fd1f35f00be77cc5afb242172ee3d03a0307c04"
            ],
            "index": "pypi",
            "version": "==1.2.1"
        },
        "packaging": {
            "hashes": [
                "sha256:e9215d2d2535d3ae866c3d6efc77d5b24a0192cce0ff20e42896cc0664f889c0",
                "sha256:f019b770dd64e585a99714f1fd5e01c7a8f11b45635aa953fd41c689a657375b"
            ],
            "version": "==17.1"
        },
        "pluggy": {
            "hashes": [
                "sha256:7f8ae7f5bdf75671a718d2daf0a64b7885f74510bcd98b1a0bb420eb9a9d0cff"
            ],
            "version": "==0.6.0"
        },
        "py": {
            "hashes": [
                "sha256:29c9fab495d7528e80ba1e343b958684f4ace687327e6f789a94bf3d1915f881",
                "sha256:983f77f3331356039fdd792e9220b7b8ee1aa6bd2b25f567a963ff1de5a64f6a"
            ],
            "version": "==1.5.3"
        },
        "pycparser": {
            "hashes": [
                "sha256:99a8ca03e29851d96616ad0404b4aad7d9ee16f25c9f9708a11faf2810f7b226"
            ],
            "version": "==2.18"
        },
        "pygments": {
            "hashes": [
                "sha256:78f3f434bcc5d6ee09020f92ba487f95ba50f1e3ef83ae96b9d5ffa1bab25c5d",
                "sha256:dbae1046def0efb574852fab9e90209b23f556367b5a320c0bcb871c77c3e8cc"
            ],
            "version": "==2.2.0"
        },
        "pymongo": {
            "hashes": [
                "sha256:051770590ddbd5fb7db17d3315d4c1b0f18039d830dd18e1bae39451c30d31cd",
                "sha256:061085dfe4fbf1d9d6ed2f2e52fe6ab72559e48b4294370b433751638160d10b",
                "sha256:07fdee1c5567f237796a8550233e04853785d8dcf95929f96ab519ed91543109",
                "sha256:0d98731aaea8cb32b535c376f6785927e4e3d9459ffe1440b8a639827a849350",
                "sha256:10f683950f70626ccedf4a662d1c0b3244e8e013c2067872af5633830abd1bfd",
                "sha256:192ee5e33821931f4ec6df5fff4361220c0c92bb5b7437c6db52e20a0c9b4d98",
                "sha256:2954b99cfeb76776879e9f8a4cae9c5e19d5eff92d0b7b663ceddcf192adb66b",
                "sha256:36a992e02fced328de5304145dc3729a8cea12e58ad34b842a6f46d7941c9fc7",
                "sha256:419ed5d5b76ef304815f354d9df7f2085acfd6ff7cc1b714ca702e2239b341c2",
                "sha256:42ec201fd9a26e7c1e611e3db19324dead51dd4646391492eb238b41749340e8",
                "sha256:4400fa92af310bf66b76c313c7ded3bb63f3d63b4f43c3bfbff552cf294dc9fa",
                "sha256:44abdc26989600bb03b62d57616ec7c1b9182290720167c39e38c3a2b0d44e44",
                "sha256:45fb9f589c0f35436dbe391c53a387ffffa8d086b8521a86fca4f3e1d0edbf71",
                "sha256:4807dfbb5cdcfe0224329992dc48b897c780d0ad7553c3799d34f84ba5cab446",
                "sha256:54daf67e1e7e7e5a5160c86123bdd39b1d3b25876c2ab38230dc2a764cb3d98f",
                "sha256:5f2814a9492a724fd77c90ffc01f810276ef9972ae02587bfaae40835f9b8407",
                "sha256:5fd6ce5ed3c6c92d2c94756e6bf041304e5c7c5a5dbea31b8957d52a78bdf01d",
                "sha256:601e00fe7fb283f04c95f5dafb787c0862f48ca015a6f1f81b460c74e4303873",
                "sha256:63a47a97b5cb4c67c86552b15e08df12ff026a648211120adf5ebe00453e85e9",
                "sha256:6c4459d5c2b45ba55e14360e03078426015c1b0881facaec51bd9bd9e2304cec",
                "sha256:7fbd9233e8b6741b047c5857e2ad5efb74091f167d7fa8a2a3379217165058f9",
                "sha256:7ffac35362c07c103b024b89875e8d7f0625129b65c56fa8a3ecebbd56110405",
                "sha256:833bc6cb2ec7058dea9f5840a9314ac74738d2117486a044e88f3976e37ea7a0",
                "sha256:92cb26a2a9b38e8df5215803f950b20a6c847d5e00d1dd125eaa84f05f9472d7",
                "sha256:97d6a218c4ad4f8fdde0143776d5224e884cbcfe631e7446379fa1790d8cf04f",
                "sha256:9e5f0e8967d95a256038817460844a8aab588b9bc9ba6296507a1863960a0e44",
                "sha256:9e6db7ff63fb836d56e62216e10e868c23a99f3cb02875411eb2cb787acf58c7",
                "sha256:a0a695eef38c15570f6da3b4900e1a1d85fa92c754177d5f05267b49da79c92b",
                "sha256:aa46076524471729430afacca3dd8ad4578878eca6fc9e2b593a0b381b5bbeb7",
                "sha256:abf83b908e535b1386a7732825994e6e36eff6394c1829f3e7a23888136484fa",
                "sha256:adb2dba52c8a2a2d7bcd3b267f7bbf7c822850cf6a7cd15211b9f386c3a670ef",
                "sha256:ae7b3479822a03f6f651913de84ba67101f23e051ae88034085e974f472dcfff",
                "sha256:c596af57286ef28cae7a48e3070d222f96f5f0eab76ad39d680ae6b9bbc957c7",
                "sha256:cc15b30f0ac518e6cbd4b6e6e6162f8aa14edfe255d0841146f146151bd58865",
                "sha256:d23498d62063b715078947bef48fa4d34dc354f3b268ed15dc6b46fc809a88e9",
                "sha256:dd29bb5bc9068ccc248c8c145efd839421f04363b468b47cfa2d4902ca369afe",
                "sha256:e2745dd408a26d4517702d1686afc8e1e1638d2167e857c684f912192cc00dcf",
                "sha256:e53ad0cc6c489f83e7f6bb6121aa73bb6f6488410024a3bd77c16af1aa3a1000",
                "sha256:ecb11113407d919f8714cc7d0841985044633d0b561ef3d797e1b494a3e73537",
                "sha256:ece2c2add66d3ec2720a963bf073ca11fc3b0b58159767fc3bc5ddaad791d481",
                "sha256:ef25c8675f5c8c19832f69cd97d728d99bb4ab9c3b200e28a5c8416631afaf3c",
                "sha256:f62a818d643776873713c5676f17bd95ac4176220b13dd12c14edd3a450d1ac9",
                "sha256:f7ebcb846962ee40374db2d9014a89bea9c983ae63c1877957c3a0a756974796"
            ],
            "version": "==3.6.1"
        },
        "pynacl": {
            "hashes": [
                "sha256:2066cb852e369888798bd50506d185b1a64d83ed4a7aac181d60466e91d4c56a",
                "sha256:2e16443657b7ed37878fdd4783c45b96e7b7e00dfa19736638b03c3c632080d4",
                "sha256:2e7b0a54aa3fc689f9ca34ef0d0bc21203dea87a3da120230b9a3d04bb95075c",
                "sha256:394853427159419c5dcd3d5cd8db2f14592ac3b5215df6ae16613577b21b76e8",
                "sha256:49f7f7cfcd25db335262818266c40b12a3d3885cd3011ddc6258394418ec8c9c",
                "sha256:96fe0af92008488c0ad805920ccb7abc6742cfeef173f0c117f2f26a054b33ee",
                "sha256:afd0106f4a337c428f3113927b14b0e877e7a0eb3cdc25fabcb6584d7be21ad2",
                "sha256:b866c28ab1700efccf0468ede2ecaf550c2f8ab7e84828b05b7c45496a86bd34",
                "sha256:cf183495fd655706e17e1cc92a2b6bdd27c74aebcfa34425035217c6a55d4229",
                "sha256:d21d7a7358a85fb9b9ddadfbd1176c40fe199334fe2202881255e77f6d3773f4",
                "sha256:d307a9bc2b0502e4111a9c2324dddb828efcb84d54e3dd41d1eaae3d3cf98e37",
                "sha256:d5c8a1084cc2c0c9fe1e9ee9b626adda7b89eed82677195fcd194323f83544f8",
                "sha256:d7d209742f2b075efd7b796709a29809368e68d2a4b319a5515bc51d4dde92be",
                "sha256:dc49ee007f194fa4b4070f8a1a4c58dc5c32f9340134cfc5becc2d5775350697",
                "sha256:e40487e3b8d0a16f038970732c3705a89b0a188c065603edd871b6a25a40bf97",
                "sha256:eb7ba561a8ae2faeeafae38218100f015c4055408af1eda5f9ff7c536cdd3faf"
            ],
            "index": "pypi",
            "version": "==1.0.1"
        },
        "pyparsing": {
            "hashes": [
                "sha256:0832bcf47acd283788593e7a0f542407bd9550a55a8a8435214a1960e04bcb04",
                "sha256:281683241b25fe9b80ec9d66017485f6deff1af5cde372469134b56ca8447a07",
                "sha256:8f1e18d3fd36c6795bb7e02a39fd05c611ffc2596c1e0d995d34d67630426c18",
                "sha256:9e8143a3e15c13713506886badd96ca4b579a87fbdf49e550dbfc057d6cb218e",
                "sha256:b8b3117ed9bdf45e14dcc89345ce638ec7e0e29b2b579fa1ecf32ce45ebac8a5",
                "sha256:e4d45427c6e20a59bf4f88c639dcc03ce30d193112047f94012102f235853a58",
                "sha256:fee43f17a9c4087e7ed1605bd6df994c6173c1e977d7ade7b651292fab2bd010"
            ],
            "version": "==2.2.0"
        },
        "pytest": {
            "hashes": [
                "sha256:6266f87ab64692112e5477eba395cfedda53b1933ccd29478e671e73b420c19c",
                "sha256:fae491d1874f199537fd5872b5e1f0e74a009b979df9d53d1553fd03da1703e1"
            ],
            "version": "==3.5.0"
        },
        "pytest-cov": {
            "hashes": [
                "sha256:03aa752cf11db41d281ea1d807d954c4eda35cfa1b21d6971966cc041bbf6e2d",
                "sha256:890fe5565400902b0c78b5357004aab1c814115894f4f21370e2433256a3eeec"
            ],
            "index": "pypi",
            "version": "==2.5.1"
        },
        "pytest-runner": {
            "hashes": [
                "sha256:06a286842b3b15fcc9d54f5ad1e7c6e25249f2c9e295f15ad49d7f0ecf63660a",
                "sha256:183f3745561b1e00ea51cd97634ba5c540848ab4aa8016a81faba7fb7f33ec76"
            ],
            "index": "pypi",
            "version": "==4.0"
        },
        "pytz": {
            "hashes": [
                "sha256:65ae0c8101309c45772196b21b74c46b2e5d11b6275c45d251b150d5da334555",
                "sha256:c06425302f2cf668f1bba7a0a03f3c1d34d4ebeef2c72003da308b3947c7f749"
            ],
            "version": "==2018.4"
        },
        "requests": {
            "hashes": [
                "sha256:6a1b267aa90cac58ac3a765d067950e7dbbf75b1da07e895d1f594193a40a38b",
                "sha256:9c443e7324ba5b85070c4a818ade28bfabedf16ea10206da1132edaa6dda237e"
            ],
            "version": "==2.18.4"
        },
        "six": {
            "hashes": [
                "sha256:70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9",
                "sha256:832dc0e10feb1aa2c68dcc57dbb658f1c7e65b9b61af69048abc87a2db00a0eb"
            ],
            "version": "==1.11.0"
        },
        "snowballstemmer": {
            "hashes": [
                "sha256:919f26a68b2c17a7634da993d91339e288964f93c274f1343e3bbbe2096e1128",
                "sha256:9f3bcd3c401c3e862ec0ebe6d2c069ebc012ce142cce209c098ccb5b09136e89"
            ],
            "version": "==1.2.1"
        },
        "sphinx": {
            "hashes": [
                "sha256:278b7923f3f4ed2a1d1359f0ae94d89ac90ddd4189e8362f4b4d3baa2afe6b4a",
                "sha256:a0b16810d1d1413dec006ce2b08b5c895b2aaa7dce18d579d3ef79c03d461b22"
            ],
            "index": "pypi",
            "version": "==1.7.0"
        },
        "sphinx-rtd-theme": {
            "hashes": [
                "sha256:2df74b8ff6fae6965c527e97cca6c6c944886aae474b490e17f92adfbe843417",
                "sha256:62ee4752716e698bad7de8a18906f42d33664128eea06c46b718fc7fbd1a9f5c"
            ],
            "index": "pypi",
            "version": "==0.2.4"
        },
        "sphinxcontrib-websupport": {
            "hashes": [
                "sha256:7a85961326aa3a400cd4ad3c816d70ed6f7c740acd7ce5d78cd0a67825072eb9",
                "sha256:f4932e95869599b89bf4f80fc3989132d83c9faa5bf633e7b5e0c25dffb75da2"
            ],
            "version": "==1.0.1"
        },
        "toml": {
            "hashes": [
                "sha256:8e86bd6ce8cc11b9620cb637466453d94f5d57ad86f17e98a98d1f73e3baab2d"
            ],
            "index": "pypi",
            "version": "==0.9.4"
        },
        "urllib3": {
            "hashes": [
                "sha256:06330f386d6e4b195fbfc736b297f58c5a892e4440e54d294d7004e3a9bbea1b",
                "sha256:cc44da8e1145637334317feebd728bd869a35285b93cbb4cca2577da7e62db4f"
            ],
            "version": "==1.22"
        }
    },
    "develop": {}
}

```
</details>

------------

##### Expected result

Attempting to install from this url (https://github.com/Rapptz/discord.py/archive/rewrite.zip#egg=discord.py[voice]) using pipenv works without any issues.

eg: `pipenv install https://github.com/Rapptz/discord.py/archive/rewrite.zip#egg=discord.py[voice]`

##### Actual result
A 404 error because only selectors work on github. This is the actual output of what happens when this is attempted on an empty repository.
<details><summary>meredith@taylor:~/PycharmProjects/Test$ pipenv install https://github.com/Rapptz/discord.py/archive/rewrite.zip#egg=discord.py[voice]</summary>

```

Creating a virtualenv for this project…
Using /home/meredith/.pyenv/versions/3.6.4/bin/python3.6 (3.6.4) to create virtualenv…
⠋Already using interpreter /home/meredith/.pyenv/versions/3.6.4/bin/python3.6
Using base prefix '/home/meredith/.pyenv/versions/3.6.4'
New python executable in /home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6/bin/python3.6
Also creating executable in /home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6/bin/python
Installing setuptools, pip, wheel...done.

Virtualenv location: /home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6
Creating a Pipfile for this project…                                                                                                                          Installing https://github.com/Rapptz/discord.py/archive/rewrite.zip#egg=discord.py[voice]…
Collecting discord.py[voice] from https://github.com/Rapptz/discord.py/archive/rewrite.zip#egg=discord.py[voice]
  Downloading https://github.com/Rapptz/discord.py/archive/rewrite.zip
Collecting aiohttp<2.3.0,>=2.0.0 (from discord.py[voice])
  Using cached aiohttp-2.2.5-cp36-cp36m-manylinux1_x86_64.whl
Collecting websockets<4.0,>=3.0 (from discord.py[voice])
  Using cached websockets-3.4-cp36-cp36m-manylinux1_x86_64.whl
Collecting PyNaCl==1.1.2 (from discord.py[voice])
  Using cached PyNaCl-1.1.2-cp36-cp36m-manylinux1_x86_64.whl
Collecting multidict>=2.1.4 (from aiohttp<2.3.0,>=2.0.0->discord.py[voice])
  Downloading multidict-4.2.0-cp36-cp36m-manylinux1_x86_64.whl (473kB)
Collecting async-timeout>=1.2.0 (from aiohttp<2.3.0,>=2.0.0->discord.py[voice])
  Using cached async_timeout-2.0.1-py3-none-any.whl
Collecting chardet (from aiohttp<2.3.0,>=2.0.0->discord.py[voice])
  Using cached chardet-3.0.4-py2.py3-none-any.whl
Collecting yarl>=0.11 (from aiohttp<2.3.0,>=2.0.0->discord.py[voice])
  Using cached yarl-1.1.1-cp36-cp36m-manylinux1_x86_64.whl
Collecting cffi>=1.4.1 (from PyNaCl==1.1.2->discord.py[voice])
  Using cached cffi-1.11.5-cp36-cp36m-manylinux1_x86_64.whl
Collecting six (from PyNaCl==1.1.2->discord.py[voice])
  Using cached six-1.11.0-py2.py3-none-any.whl
Collecting idna>=2.0 (from yarl>=0.11->aiohttp<2.3.0,>=2.0.0->discord.py[voice])
  Using cached idna-2.6-py2.py3-none-any.whl
Collecting pycparser (from cffi>=1.4.1->PyNaCl==1.1.2->discord.py[voice])
Building wheels for collected packages: discord.py
  Running setup.py bdist_wheel for discord.py: started
  Running setup.py bdist_wheel for discord.py: finished with status 'done'
  Stored in directory: /tmp/pip-ephem-wheel-cache-15j6hgie/wheels/87/68/f7/a628b340c016ddd9f0bbc6e0e37a9fd70b03919e3336c46c39
Successfully built discord.py
Installing collected packages: multidict, async-timeout, chardet, idna, yarl, aiohttp, websockets, pycparser, cffi, six, PyNaCl, discord.py
Successfully installed PyNaCl-1.1.2 aiohttp-2.2.5 async-timeout-2.0.1 cffi-1.11.5 chardet-3.0.4 discord.py-1.0.0a0 idna-2.6 multidict-4.2.0 pycparser-2.18 six-1.11.0 websockets-3.4 yarl-1.1.1

Adding https://github.com/Rapptz/discord.py/archive/rewrite.zip#egg=discord.py[voice] to Pipfile's [packages]…
Pipfile.lock not found, creating…
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
Updated Pipfile.lock (c96a21)!
Installing dependencies from Pipfile.lock (c96a21)…
An error occurred while installing https://github.com/Rapptz/discord.py/archive/rewrite.zip[voice]! Will try again.
  🐍   ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 1/1 — 00:00:00
Installing initially–failed dependencies…
Collecting https://github.com/Rapptz/discord.py/archive/rewrite.zip[voice] 

  HTTP error 404 while getting https://github.com/Rapptz/discord.py/archive/rewrite.zip[voice]
  Could not install requirement https://github.com/Rapptz/discord.py/archive/rewrite.zip[voice] (from -r /tmp/pipenv-99z52o2u-requirements/pipenv-p_0hl3tt-requirement.txt (line 1)) because of error 404 Client Error: Not Found for url: https://github.com/Rapptz/discord.py/archive/rewrite.zip[voice]
Could not install requirement https://github.com/Rapptz/discord.py/archive/rewrite.zip[voice] (from -r /tmp/pipenv-99z52o2u-requirements/pipenv-p_0hl3tt-requirement.txt (line 1)) because of HTTP error 404 Client Error: Not Found for url: https://github.com/Rapptz/discord.py/archive/rewrite.zip[voice] for URL https://github.com/Rapptz/discord.py/archive/rewrite.zip[voice]

  ☤  ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 0/1 — 00:00:00

```
</details>

##### Verbose Result
<details><summary>meredith@taylor:~/PycharmProjects/Test$ pipenv install --verbose https://github.com/Rapptz/discord.py/archive/rewrite.zip#egg=discord.py[voice]</summary>

```

Installing https://github.com/Rapptz/discord.py/archive/rewrite.zip#egg=discord.py[voice]…
Created temporary directory: /tmp/pip-ephem-wheel-cache-ndn0z7hl
Created temporary directory: /tmp/pip-install-jieickdq
Requirement already satisfied: discord.py[voice] from https://github.com/Rapptz/discord.py/archive/rewrite.zip#egg=discord.py[voice] in /home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6/lib/python3.6/site-packages (1.0.0a0)
  Installing extra requirements: 'voice'
Requirement already satisfied: websockets<4.0,>=3.0 in /home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6/lib/python3.6/site-packages (from discord.py[voice]) (3.4)
Requirement already satisfied: aiohttp<2.3.0,>=2.0.0 in /home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6/lib/python3.6/site-packages (from discord.py[voice]) (2.2.5)
Requirement already satisfied: PyNaCl==1.1.2; extra == "voice" in /home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6/lib/python3.6/site-packages (from discord.py[voice]) (1.1.2)
Requirement already satisfied: yarl>=0.11 in /home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6/lib/python3.6/site-packages (from aiohttp<2.3.0,>=2.0.0->discord.py[voice]) (1.1.1)
Requirement already satisfied: async-timeout>=1.2.0 in /home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6/lib/python3.6/site-packages (from aiohttp<2.3.0,>=2.0.0->discord.py[voice]) (2.0.1)
Requirement already satisfied: chardet in /home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6/lib/python3.6/site-packages (from aiohttp<2.3.0,>=2.0.0->discord.py[voice]) (3.0.4)
Requirement already satisfied: multidict>=2.1.4 in /home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6/lib/python3.6/site-packages (from aiohttp<2.3.0,>=2.0.0->discord.py[voice]) (4.2.0)
Requirement already satisfied: cffi>=1.4.1 in /home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6/lib/python3.6/site-packages (from PyNaCl==1.1.2; extra == "voice"->discord.py[voice]) (1.11.5)
Requirement already satisfied: six in /home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6/lib/python3.6/site-packages (from PyNaCl==1.1.2; extra == "voice"->discord.py[voice]) (1.11.0)
Requirement already satisfied: idna>=2.0 in /home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6/lib/python3.6/site-packages (from yarl>=0.11->aiohttp<2.3.0,>=2.0.0->discord.py[voice]) (2.6)
Requirement already satisfied: pycparser in /home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6/lib/python3.6/site-packages (from cffi>=1.4.1->PyNaCl==1.1.2; extra == "voice"->discord.py[voice]) (2.18)
Cleaning up...

Adding https://github.com/Rapptz/discord.py/archive/rewrite.zip#egg=discord.py[voice] to Pipfile's [packages]…
Installing dependencies from Pipfile.lock (c96a21)…
Created temporary directory: /tmp/pip-ephem-wheel-cache-3cij6e65
Created temporary directory: /tmp/pip-install-jozndtyg
Collecting https://github.com/Rapptz/discord.py/archive/rewrite.zip[voice] (from -r /tmp/pipenv-zywuff4e-requirements/pipenv-jc0qwhv1-requirement.txt (line 1))
  Created temporary directory: /tmp/pip-req-build-cs4ryw7_
  Created temporary directory: /tmp/pip-unpack-fzufxad7
  Looking up "https://github.com/Rapptz/discord.py/archive/rewrite.zip[voice]" in the cache
  Ignoring unknown cache-control directive: 
  No cache entry available
  Starting new HTTPS connection (1): github.com
  https://github.com:443 "GET /Rapptz/discord.py/archive/rewrite.zip[voice] HTTP/1.1" 404 None
  HTTP error 404 while getting https://github.com/Rapptz/discord.py/archive/rewrite.zip[voice]
  Could not install requirement https://github.com/Rapptz/discord.py/archive/rewrite.zip[voice] (from -r /tmp/pipenv-zywuff4e-requirements/pipenv-jc0qwhv1-requirement.txt (line 1)) because of error 404 Client Error: Not Found for url: https://github.com/Rapptz/discord.py/archive/rewrite.zip[voice]
Cleaning up...
Could not install requirement https://github.com/Rapptz/discord.py/archive/rewrite.zip[voice] (from -r /tmp/pipenv-zywuff4e-requirements/pipenv-jc0qwhv1-requirement.txt (line 1)) because of HTTP error 404 Client Error: Not Found for url: https://github.com/Rapptz/discord.py/archive/rewrite.zip[voice] for URL https://github.com/Rapptz/discord.py/archive/rewrite.zip[voice]
Exception information:
Traceback (most recent call last):
  File "/home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6/lib/python3.6/site-packages/pip/_internal/operations/prepare.py", line 308, in prepare_linked_requirement
    progress_bar=self.progress_bar
  File "/home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6/lib/python3.6/site-packages/pip/_internal/download.py", line 837, in unpack_url
    progress_bar=progress_bar
  File "/home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6/lib/python3.6/site-packages/pip/_internal/download.py", line 674, in unpack_http_url
    progress_bar)
  File "/home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6/lib/python3.6/site-packages/pip/_internal/download.py", line 871, in _download_http_url
    resp.raise_for_status()
  File "/home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6/lib/python3.6/site-packages/pip/_vendor/requests/models.py", line 935, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
pip._vendor.requests.exceptions.HTTPError: 404 Client Error: Not Found for url: https://github.com/Rapptz/discord.py/archive/rewrite.zip[voice]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6/lib/python3.6/site-packages/pip/_internal/basecommand.py", line 228, in main
    status = self.run(options, args)
  File "/home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6/lib/python3.6/site-packages/pip/_internal/commands/install.py", line 291, in run
    resolver.resolve(requirement_set)
  File "/home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6/lib/python3.6/site-packages/pip/_internal/resolve.py", line 103, in resolve
    self._resolve_one(requirement_set, req)
  File "/home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6/lib/python3.6/site-packages/pip/_internal/resolve.py", line 257, in _resolve_one
    abstract_dist = self._get_abstract_dist_for(req_to_install)
  File "/home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6/lib/python3.6/site-packages/pip/_internal/resolve.py", line 210, in _get_abstract_dist_for
    self.require_hashes
  File "/home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6/lib/python3.6/site-packages/pip/_internal/operations/prepare.py", line 319, in prepare_linked_requirement
    (req, exc, req.link)
pip._internal.exceptions.InstallationError: Could not install requirement https://github.com/Rapptz/discord.py/archive/rewrite.zip[voice] (from -r /tmp/pipenv-zywuff4e-requirements/pipenv-jc0qwhv1-requirement.txt (line 1)) because of HTTP error 404 Client Error: Not Found for url: https://github.com/Rapptz/discord.py/archive/rewrite.zip[voice] for URL https://github.com/Rapptz/discord.py/archive/rewrite.zip[voice]
Created temporary directory: /tmp/pip-ephem-wheel-cache-3cij6e65
Created temporary directory: /tmp/pip-install-jozndtyg
Collecting https://github.com/Rapptz/discord.py/archive/rewrite.zip[voice] (from -r /tmp/pipenv-zywuff4e-requirements/pipenv-jc0qwhv1-requirement.txt (line 1))
  Created temporary directory: /tmp/pip-req-build-cs4ryw7_
  Created temporary directory: /tmp/pip-unpack-fzufxad7
  Looking up "https://github.com/Rapptz/discord.py/archive/rewrite.zip[voice]" in the cache
  Ignoring unknown cache-control directive: 
  No cache entry available
  Starting new HTTPS connection (1): github.com
  https://github.com:443 "GET /Rapptz/discord.py/archive/rewrite.zip[voice] HTTP/1.1" 404 None
  HTTP error 404 while getting https://github.com/Rapptz/discord.py/archive/rewrite.zip[voice]
  Could not install requirement https://github.com/Rapptz/discord.py/archive/rewrite.zip[voice] (from -r /tmp/pipenv-zywuff4e-requirements/pipenv-jc0qwhv1-requirement.txt (line 1)) because of error 404 Client Error: Not Found for url: https://github.com/Rapptz/discord.py/archive/rewrite.zip[voice]
Cleaning up...
Could not install requirement https://github.com/Rapptz/discord.py/archive/rewrite.zip[voice] (from -r /tmp/pipenv-zywuff4e-requirements/pipenv-jc0qwhv1-requirement.txt (line 1)) because of HTTP error 404 Client Error: Not Found for url: https://github.com/Rapptz/discord.py/archive/rewrite.zip[voice] for URL https://github.com/Rapptz/discord.py/archive/rewrite.zip[voice]
Exception information:
Traceback (most recent call last):
  File "/home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6/lib/python3.6/site-packages/pip/_internal/operations/prepare.py", line 308, in prepare_linked_requirement
    progress_bar=self.progress_bar
  File "/home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6/lib/python3.6/site-packages/pip/_internal/download.py", line 837, in unpack_url
    progress_bar=progress_bar
  File "/home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6/lib/python3.6/site-packages/pip/_internal/download.py", line 674, in unpack_http_url
    progress_bar)
  File "/home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6/lib/python3.6/site-packages/pip/_internal/download.py", line 871, in _download_http_url
    resp.raise_for_status()
  File "/home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6/lib/python3.6/site-packages/pip/_vendor/requests/models.py", line 935, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
pip._vendor.requests.exceptions.HTTPError: 404 Client Error: Not Found for url: https://github.com/Rapptz/discord.py/archive/rewrite.zip[voice]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6/lib/python3.6/site-packages/pip/_internal/basecommand.py", line 228, in main
    status = self.run(options, args)
  File "/home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6/lib/python3.6/site-packages/pip/_internal/commands/install.py", line 291, in run
    resolver.resolve(requirement_set)
  File "/home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6/lib/python3.6/site-packages/pip/_internal/resolve.py", line 103, in resolve
    self._resolve_one(requirement_set, req)
  File "/home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6/lib/python3.6/site-packages/pip/_internal/resolve.py", line 257, in _resolve_one
    abstract_dist = self._get_abstract_dist_for(req_to_install)
  File "/home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6/lib/python3.6/site-packages/pip/_internal/resolve.py", line 210, in _get_abstract_dist_for
    self.require_hashes
  File "/home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6/lib/python3.6/site-packages/pip/_internal/operations/prepare.py", line 319, in prepare_linked_requirement
    (req, exc, req.link)
pip._internal.exceptions.InstallationError: Could not install requirement https://github.com/Rapptz/discord.py/archive/rewrite.zip[voice] (from -r /tmp/pipenv-zywuff4e-requirements/pipenv-jc0qwhv1-requirement.txt (line 1)) because of HTTP error 404 Client Error: Not Found for url: https://github.com/Rapptz/discord.py/archive/rewrite.zip[voice] for URL https://github.com/Rapptz/discord.py/archive/rewrite.zip[voice]

An error occurred while installing https://github.com/Rapptz/discord.py/archive/rewrite.zip[voice]! Will try again.
Installing initially–failed dependencies…
Created temporary directory: /tmp/pip-ephem-wheel-cache-1xv6xl2g
Created temporary directory: /tmp/pip-install-ymyzaehm
Collecting https://github.com/Rapptz/discord.py/archive/rewrite.zip[voice] 
  Created temporary directory: /tmp/pip-req-build-28z_qlfb
  Created temporary directory: /tmp/pip-unpack-x1eiz2as
  Looking up "https://github.com/Rapptz/discord.py/archive/rewrite.zip[voice]" in the cache
  Ignoring unknown cache-control directive: 
  No cache entry available
  Starting new HTTPS connection (1): github.com
  https://github.com:443 "GET /Rapptz/discord.py/archive/rewrite.zip[voice] HTTP/1.1" 404 None
Cleaning up...
Exception information:
Traceback (most recent call last):
  File "/home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6/lib/python3.6/site-packages/pip/_internal/operations/prepare.py", line 308, in prepare_linked_requirement
    progress_bar=self.progress_bar
  File "/home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6/lib/python3.6/site-packages/pip/_internal/download.py", line 837, in unpack_url
    progress_bar=progress_bar
  File "/home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6/lib/python3.6/site-packages/pip/_internal/download.py", line 674, in unpack_http_url
    progress_bar)
  File "/home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6/lib/python3.6/site-packages/pip/_internal/download.py", line 871, in _download_http_url
    resp.raise_for_status()
  File "/home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6/lib/python3.6/site-packages/pip/_vendor/requests/models.py", line 935, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
pip._vendor.requests.exceptions.HTTPError: 404 Client Error: Not Found for url: https://github.com/Rapptz/discord.py/archive/rewrite.zip[voice]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6/lib/python3.6/site-packages/pip/_internal/basecommand.py", line 228, in main
    status = self.run(options, args)
  File "/home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6/lib/python3.6/site-packages/pip/_internal/commands/install.py", line 291, in run
    resolver.resolve(requirement_set)
  File "/home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6/lib/python3.6/site-packages/pip/_internal/resolve.py", line 103, in resolve
    self._resolve_one(requirement_set, req)
  File "/home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6/lib/python3.6/site-packages/pip/_internal/resolve.py", line 257, in _resolve_one
    abstract_dist = self._get_abstract_dist_for(req_to_install)
  File "/home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6/lib/python3.6/site-packages/pip/_internal/resolve.py", line 210, in _get_abstract_dist_for
    self.require_hashes
  File "/home/meredith/.local/share/virtualenvs/Test-Tw_AilJ6/lib/python3.6/site-packages/pip/_internal/operations/prepare.py", line 319, in prepare_linked_requirement
    (req, exc, req.link)
pip._internal.exceptions.InstallationError: Could not install requirement https://github.com/Rapptz/discord.py/archive/rewrite.zip[voice] 

```
</details>

##### Things to Note
The Pipfile looks like this after something is installed from a url with selectors.
```
[[source]]
url = "https://pypi.python.org/simple"
verify_ssl = true
name = "pypi"

[packages]
"discord.py" = {file = "https://github.com/Rapptz/discord.py/archive/rewrite.zip", extras = ["voice"]}

[dev-packages]

[requires]
python_version = "3.6"

```
##### Temporary Fix
Manually adding the selector will fix this problem immediately. The new Pipfile will look like this after this fix.
```
[[source]]
url = "https://pypi.python.org/simple"
verify_ssl = true
name = "pypi"

[packages]
"discord.py" = {file = "https://github.com/Rapptz/discord.py/archive/rewrite.zip#egg=discord.py",", extras = ["voice"]}

[dev-packages]

[requires]
python_version = "3.6"

```


Discussion:
Thanks for the report, this is a really interesting one — a good amount of our parser is custom and I don’t think anyone has ever attempted this so that’s definitely new!

Small point of clarification— the `#egg=` in this context isn’t an html selector but a fragment used for providing a package name to pip internally. Basically this is how pip knows what to call something when you tell it what to install. In our case, it’s how we decide what to call it when placing it in the `Pipfile`. I believe the issue here is just that we are putting the `extras` argument back on during installation without adding the rest of the egg fragment
Thanks for that clarification. I just assumed it was an HTML selector because of ignorance. I'll change the title to reflect that. However, I also think keeping selectors in the title will help any newcomers as well. Let's hope this bug is an easy fix :)

Resolving patch:
diff --git a/pipenv/utils.py b/pipenv/utils.py
--- a/pipenv/utils.py
+++ b/pipenv/utils.py
@@ -657,6 +657,7 @@ def convert_deps_to_pip(deps, project=None, r=True, include_index=False):
     for dep in deps.keys():
         # Default (e.g. '>1.10').
         extra = deps[dep] if isinstance(deps[dep], six.string_types) else ''
+        extras = ''
         version = ''
         index = ''
         # Get rid of '*'.
@@ -675,7 +676,7 @@ def convert_deps_to_pip(deps, project=None, r=True, include_index=False):
             )
         # Support for extras (e.g. requests[socks])
         if 'extras' in deps[dep]:
-            extra = '[{0}]'.format(','.join(deps[dep]['extras']))
+            extras = '[{0}]'.format(','.join(deps[dep]['extras']))
         if 'version' in deps[dep]:
             if not is_star(deps[dep]['version']):
                 version = deps[dep]['version']
@@ -709,9 +710,14 @@ def convert_deps_to_pip(deps, project=None, r=True, include_index=False):
         # Support for version control
         maybe_vcs = [vcs for vcs in VCS_LIST if vcs in deps[dep]]
         vcs = maybe_vcs[0] if maybe_vcs else None
+        if not any(key in deps[dep] for key in ['path', 'vcs', 'file']):
+            extra += extras
         # Support for files.
         if 'file' in deps[dep]:
-            extra = '{1}{0}'.format(extra, deps[dep]['file']).strip()
+            dep_file = deps[dep]['file']
+            if is_valid_url(dep_file) and dep_file.startswith('http'):
+                dep_file += '#egg={0}'.format(dep)
+            extra = '{0}{1}'.format(dep_file, extras).strip()
             # Flag the file as editable if it is a local relative path
             if 'editable' in deps[dep]:
                 dep = '-e '
@@ -719,7 +725,7 @@ def convert_deps_to_pip(deps, project=None, r=True, include_index=False):
                 dep = ''
         # Support for paths.
         elif 'path' in deps[dep]:
-            extra = '{1}{0}'.format(extra, deps[dep]['path']).strip()
+            extra = '{1}{0}'.format(extras, deps[dep]['path']).strip()
             # Flag the file as editable if it is a local relative path
             if 'editable' in deps[dep]:
                 dep = '-e '
@@ -730,7 +736,7 @@ def convert_deps_to_pip(deps, project=None, r=True, include_index=False):
             # Support for @refs.
             if 'ref' in deps[dep]:
                 extra += '@{0}'.format(deps[dep]['ref'])
-            extra += '#egg={0}'.format(dep)
+            extra += '#egg={0}{1}'.format(dep, extras)
             # Support for subdirectory
             if 'subdirectory' in deps[dep]:
                 extra += '&subdirectory={0}'.format(deps[dep]['subdirectory'])
@@ -740,6 +746,7 @@ def convert_deps_to_pip(deps, project=None, r=True, include_index=False):
                 dep = '-e '
             else:
                 dep = ''
+
         s = '{0}{1}{2}{3}{4} {5}'.format(
             dep, extra, version, specs, hash, index
         ).strip()


Test patch:
diff --git a/tests/unit/test_utils.py b/tests/unit/test_utils.py
--- a/tests/unit/test_utils.py
+++ b/tests/unit/test_utils.py
@@ -44,7 +44,21 @@
         }},
         '-e svn+svn://svn.myproject.org/svn/MyProject#egg=MyProject',
     ),
-
+    (
+        # Extras in url
+        {'discord.py': {
+                'file': 'https://github.com/Rapptz/discord.py/archive/rewrite.zip',
+                'extras': ['voice']
+        }},
+        'https://github.com/Rapptz/discord.py/archive/rewrite.zip#egg=discord.py[voice]',
+    ),
+    (
+        {'requests': {
+            'git': 'https://github.com/requests/requests.git',
+            'ref': 'master', 'extras': ['security'],
+        }},
+        'git+https://github.com/requests/requests.git@master#egg=requests[security]',
+    ),
 ]
 
 
@@ -97,20 +111,6 @@ def test_convert_from_pip(expected, requirement):
     assert pipenv.utils.convert_deps_from_pip(requirement) == expected
 
 
-@pytest.mark.utils
-@pytest.mark.parametrize('expected, requirement', [
-    (   # XXX: This should work the other way around as well, but does not atm.
-        {'requests': {
-            'git': 'https://github.com/requests/requests.git',
-            'ref': 'master', 'extras': ['security'],
-        }},
-        'git+https://github.com/requests/requests.git@master#egg=requests[security]',
-    ),
-])
-def test_convert_from_pip_vcs_with_extra(expected, requirement):
-    assert pipenv.utils.convert_deps_from_pip(requirement) == expected
-
-
 @pytest.mark.utils
 def test_convert_from_pip_fail_if_no_egg():
     """Parsing should fail without `#egg=`.