Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Weird issues when depending on github package #571

Closed
jotunskij opened this issue Sep 16, 2017 · 42 comments
Closed

Weird issues when depending on github package #571

jotunskij opened this issue Sep 16, 2017 · 42 comments
Labels
Type: Bug 🐛 This issue is a bug.

Comments

@jotunskij
Copy link

TL;DR at the bottom.

I have written a small library running pipenv which can be found at https://github.com/kth/everest_util, with a setup.py that looks like this:

from setuptools import setup
from pipenv.project import Project

lockfile = Project().lockfile_content
requirements = [package for (package, _) in lockfile['default'].iteritems()]

setup(name='everest_util',
      version='1.1',
      description='Utility library for KTHs CD/CI pipeline',
      url='http://github.com/KTH/everest_util',
      author='Jens Tinglev',
      author_email='tinglev@kth.se',
      license='MIT',
      packages=['everest_util', 'everest_util.systems', 'everest_util.entities'],
      zip_safe=False,
      install_requires=requirements)

In another project I then depend on this package with the following PIpfile:

[[source]]
url = "https://pypi.python.org/simple"
verify_ssl = true

[dev-packages]
mock = "*"
green = "*"
coverage = "*"

[packages]
flask = "*"
requests = "*"
coloredlogs = "*"
pydocumentdb = "*"
pipenv = "*"

[packages.everest_util]
git = "https://github.com/kth/everest_util.git"

And no errors are given when running pipenv install:

➜  dizin git:(master) ✗ pipenv install
Creating a virtualenv for this project...
⠋New python executable in [removed]/.local/share/virtualenvs/dizin-iLyeLnTE/bin/python
Installing setuptools, pip, wheel...done.

Virtualenv location: [removed]/.local/share/virtualenvs/dizin-iLyeLnTE
No package provided, installing all dependencies.
Pipfile found at [removed]/Repos/dizin/Pipfile. Considering this to be the project home.
Pipfile.lock not found, creating...
Locking [dev-packages] dependencies...
Locking [packages] dependencies...
Updated Pipfile.lock!
Installing dependencies from Pipfile.lock...
[================================] 28/28 - 00:00:24
To activate this project's virtualenv, run the following:
 $ pipenv shell

So far so good. But if I attempt to run the application (pipenv run python run.py) I get the following error:

Traceback (most recent call last):
  File "run.py", line 11, in <module>
    from everest_util.entities.application import Application
  File "[removed]/.local/share/virtualenvs/dizin-iLyeLnTE/lib/python2.7/site-packages/everest_util/entities/application.py", line 11, in <module>
    import yaml
ImportError: No module named yaml

So, the pyyaml dependency for everest_util clearly didn't get installed. Running ls on the virtualenv /bin directory seems to confirm this (and that all the other dependencies of everest_util got installed):

➜  dizin git:(master) ✗ ls [removed]/.local/share/virtualenvs/dizin-iLyeLnTE/bin
activate         activate_this.py easy_install     humanfriendly    pip-compile      pip2.7           python-config    pythonz          virtualenv-clone
activate.csh     chardetect       easy_install-2.7 pew              pip-sync         pipenv           python2          pythonz_install  wheel
activate.fish    coloredlogs      flask            pip              pip2             python           python2.7        virtualenv

So this is the first problem that I'm having. The second part - the weird one - comes next.
Let's try to install the everest_util through the pipenv CLI and not the Pipfile:

➜  dizin git:(master) ✗ pipenv install git+https://github.com/KTH/everest_util.git#egg=everest_util
Installing git+https://github.com/KTH/everest_util.git#egg=everest_util...
Requirement already satisfied: everest_util from git+https://github.com/KTH/everest_util.git#egg=everest_util in [removed]/.local/share/virtualenvs/dizin-iLyeLnTE/lib/python2.7/site-packages
Collecting pyyaml (from everest_util)
Requirement already satisfied: humanfriendly in [removed]/.local/share/virtualenvs/dizin-iLyeLnTE/lib/python2.7/site-packages (from everest_util)
Requirement already satisfied: coloredlogs in [removed]/.local/share/virtualenvs/dizin-iLyeLnTE/lib/python2.7/site-packages (from everest_util)
Requirement already satisfied: requests in [removed]/.local/share/virtualenvs/dizin-iLyeLnTE/lib/python2.7/site-packages (from everest_util)
Requirement already satisfied: flask in [removed]/.local/share/virtualenvs/dizin-iLyeLnTE/lib/python2.7/site-packages (from everest_util)
Requirement already satisfied: urllib3 in [removed]/.local/share/virtualenvs/dizin-iLyeLnTE/lib/python2.7/site-packages (from everest_util)
Requirement already satisfied: monotonic in [removed]/.local/share/virtualenvs/dizin-iLyeLnTE/lib/python2.7/site-packages (from everest_util)
Requirement already satisfied: markupsafe in [removed]/.local/share/virtualenvs/dizin-iLyeLnTE/lib/python2.7/site-packages (from everest_util)
Requirement already satisfied: chardet in [removed].local/share/virtualenvs/dizin-iLyeLnTE/lib/python2.7/site-packages (from everest_util)
Requirement already satisfied: werkzeug in [removed]/.local/share/virtualenvs/dizin-iLyeLnTE/lib/python2.7/site-packages (from everest_util)
Requirement already satisfied: jinja2 in [removed]/.local/share/virtualenvs/dizin-iLyeLnTE/lib/python2.7/site-packages (from everest_util)
Requirement already satisfied: itsdangerous in [removed]/.local/share/virtualenvs/dizin-iLyeLnTE/lib/python2.7/site-packages (from everest_util)
Requirement already satisfied: certifi in [removed]/.local/share/virtualenvs/dizin-iLyeLnTE/lib/python2.7/site-packages (from everest_util)
Requirement already satisfied: idna in [removed]/.local/share/virtualenvs/dizin-iLyeLnTE/lib/python2.7/site-packages (from everest_util)
Requirement already satisfied: click in [removed]/.local/share/virtualenvs/dizin-iLyeLnTE/lib/python2.7/site-packages (from everest_util)
Installing collected packages: pyyaml
Successfully installed pyyaml-3.12

Adding git+https://github.com/KTH/everest_util.git#egg=everest_util to Pipfile's [packages]...
Locking [dev-packages] dependencies...
Locking [packages] dependencies...
Updated Pipfile.lock!

So, now all of a sudden the pyyaml dependency got installed. Let's see if the application works.

➜  dizin git:(master) ✗ ./run_locally.sh 
2017-09-16 06:50:24 modules.log INFO Log level set to "DEBUG"
2017-09-16 06:50:24 __main__ INFO Starting application
2017-09-16 06:50:24 __main__ WARNING Dizin is running in dry run mode. No actual integrations will be run.

Sure does. Let's see what our Pipfile looks like now:

[[source]]
url = "https://pypi.python.org/simple"
verify_ssl = true

[dev-packages]
mock = "*"
green = "*"
coverage = "*"

[packages]
flask = "*"
requests = "*"
coloredlogs = "*"
pydocumentdb = "*"
pipenv = "*"

[packages.everest-util]
git = "https://github.com/kth/everest-util.git"

Seems ok. But look carefully at the everest_util name. The underscores have been replaced with dashes. Let's try to run pipenv install again after removing our virtualenv and Pipfile.lock:

➜  dizin git:(master) ✗ rm -rf [removed]/.local/share/virtualenvs/dizin-iLyeLnTE
➜  dizin git:(master) ✗ rm Pipfile.lock 
➜  dizin git:(master) ✗ pipenv install                                               
Creating a virtualenv for this project...
⠋New python executable in [removed]/.local/share/virtualenvs/dizin-iLyeLnTE/bin/python
Installing setuptools, pip, wheel...done.

Virtualenv location: [removed]/.local/share/virtualenvs/dizin-iLyeLnTE
No package provided, installing all dependencies.
Pipfile found at [removed]/Repos/dizin/Pipfile. Considering this to be the project home.
Pipfile.lock not found, creating...
Locking [dev-packages] dependencies...
Locking [packages] dependencies...
Updated Pipfile.lock!
Installing dependencies from Pipfile.lock...
An error occured while installing! 27/28 - 00:00:01
Collecting everest-util from git+https://github.com/kth/everest-util.git#egg=everest-util
  Cloning https://github.com/kth/everest-util.git to /private/var/folders/h2/tw5rv3wn1wl2ysmc72h7l9sw0000gn/T/pip-build-LpebYL/everest-util
remote: Repository not found.
fatal: repository 'https://github.com/kth/everest-util.git/' not found

Command "git clone -q https://github.com/kth/everest-util.git /private/var/folders/h2/tw5rv3wn1wl2ysmc72h7l9sw0000gn/T/pip-build-LpebYL/everest-util" failed with error code 128 in None

[================================] 27/28 - 00:00:23

TL;DR: All dependencies from package residing on github are not getting installed when using Pipfile, but are installed when using the pipenv CLI. Doing this rewrites the url to the package in the Pipfile making it so that reinstallation is not possible.

@kennethreitz
Copy link
Contributor

Don't depend on pipenv in your project — it's not a library, it's a cli application.

Setup.py's and Pipfiles are not meant to be mixed.

@kennethreitz
Copy link
Contributor

kennethreitz commented Sep 16, 2017

Project for example, does all kinds of weird things, like recursively finds a project from your current working directory (which will be widely different than the directory of your project)), as well as do os.chdir). You could potentially hack this to work — but we don't provide a stable API, as these are all internal tools for us to use, not for library consumption.

tl;dr: Don't do this.

@kennethreitz
Copy link
Contributor

Specify your requirements normally, as shown here

@kennethreitz
Copy link
Contributor

kennethreitz commented Sep 16, 2017

tl;dr: your setup.py is broken. setup.py should not import pipenv. that's horrible practice.

and if it did, then pipenv should be in setup_requires, which is again, considered bad practice, as it bypasses pip's installation methods.

@kennethreitz
Copy link
Contributor

Also, this setup would result in your repo requiring many many specific versions of many libraries, which is also not a good practice for sdists/wheels.

@kennethreitz
Copy link
Contributor

I've sent a PR to your project, cleaning up the setup.py file.

@kennethreitz
Copy link
Contributor

@jotunskij
Copy link
Author

jotunskij commented Sep 16, 2017

Thanks for the input!

Regarding the pipenv-dependency, it's probably a relic left behind from when I was pulling my hair over the issues I've been having.

When it comes to the setup.py and Pipfile combination, I wanted to avoid specifying my dependencies in two different places as that seems to defeat the purpose of dependency tracking all together? The idea to import pipenv in the setup.py and do what I did actually came from a tip from one of this projects collaborators: https://github.com/kennethreitz/pipenv/issues/209, so it's not something of my own device.

I don't see anything in your comments regarding the underscores in my dependency being replaced with dashes. Is that as espected? And if so; how do I avoid it?

Thanks for the PR! I'll revert to using duplicate dependencies, even though it's probably something that should be looked at further?

@kennethreitz
Copy link
Contributor

Setup.py is for specifying package dependencies, Pipfile/lock is for managing application dependencies.

They are two very different tools for two very different jobs.

@kennethreitz
Copy link
Contributor

e.g. a pipfile in that repo is for reproducing a dev environment, the setup.py is for installing the package itself.

@jotunskij
Copy link
Author

Merged your PR. Problem still exists.

➜  dizin git:(master) ✗ rm -rf [removed]/.local/share/virtualenvs/dizin-iLyeLnTE              
➜  dizin git:(master) ✗ rm Pipfile.lock                                              
➜  dizin git:(master) ✗ pipenv install
Creating a virtualenv for this project...
⠋New python executable in [removed]/.local/share/virtualenvs/dizin-iLyeLnTE/bin/python
Installing setuptools, pip, wheel...done.

Virtualenv location: [removed]/.local/share/virtualenvs/dizin-iLyeLnTE
No package provided, installing all dependencies.
Pipfile found at [removed]/Repos/dizin/Pipfile. Considering this to be the project home.
Pipfile.lock not found, creating...
Locking [dev-packages] dependencies...
Locking [packages] dependencies...
Updated Pipfile.lock!
Installing dependencies from Pipfile.lock...
[================================] 28/28 - 00:00:21
To activate this project's virtualenv, run the following:
 $ pipenv shell
➜  dizin git:(master) ✗ ./run_locally.sh
Traceback (most recent call last):
  File "run.py", line 11, in <module>
    from everest_util.entities.application import Application
  File "[removed]/.local/share/virtualenvs/dizin-iLyeLnTE/lib/python2.7/site-packages/everest_util/entities/application.py", line 11, in <module>
    import yaml
ImportError: No module named yaml
➜  dizin git:(master) ✗ 

@jotunskij
Copy link
Author

To further test I used virtualenv and pip to run the same installation, which worked just fine. So there's obviously some difference between between running those two and using pipenv and a PIpfile.

➜  dizin git:(master) ✗ virtualenv env
New python executable in [removed]/Repos/dizin/env/bin/python
Installing setuptools, pip, wheel...done.
➜  dizin git:(master) ✗ cd env         
➜  env git:(master) ✗ source bin/activate
(env) ➜  env git:(master) ✗ pip install -e git+https://www.github.com/KTH/everest_util.git#egg=everest_util
Obtaining everest_util from git+https://www.github.com/KTH/everest_util.git#egg=everest_util
  Cloning https://www.github.com/KTH/everest_util.git to ./src/everest-util
Requirement already satisfied: flask in ./lib/python2.7/site-packages (from everest_util)
Requirement already satisfied: requests in ./lib/python2.7/site-packages (from everest_util)
Requirement already satisfied: coloredlogs in ./lib/python2.7/site-packages (from everest_util)
Collecting pyyaml (from everest_util)
Requirement already satisfied: click>=2.0 in ./lib/python2.7/site-packages (from flask->everest_util)
Requirement already satisfied: Jinja2>=2.4 in ./lib/python2.7/site-packages (from flask->everest_util)
Requirement already satisfied: Werkzeug>=0.7 in ./lib/python2.7/site-packages (from flask->everest_util)
Requirement already satisfied: itsdangerous>=0.21 in ./lib/python2.7/site-packages (from flask->everest_util)
Requirement already satisfied: humanfriendly>=2.1 in ./lib/python2.7/site-packages (from coloredlogs->everest_util)
Requirement already satisfied: MarkupSafe>=0.23 in ./lib/python2.7/site-packages (from Jinja2>=2.4->flask->everest_util)
Requirement already satisfied: monotonic; python_version == "2.6" or python_version == "2.7" or python_version == "3.0" or python_version == "3.1" or python_version == "3.2" in ./lib/python2.7/site-packages (from humanfriendly>=2.1->coloredlogs->everest_util)
Installing collected packages: pyyaml, everest-util
  Running setup.py develop for everest-util
Successfully installed everest-util pyyaml-3.12
(env) ➜  env git:(master) ✗ python ../run.py 
2017-09-18 09:21:13 modules.log INFO Log level set to "INFO"
2017-09-18 09:21:13 __main__ INFO Starting application
2017-09-18 09:21:18 werkzeug INFO  * Running on http://0.0.0.0:3010/ (Press CTRL+C to quit)

@jotunskij
Copy link
Author

I've looked at the source for pipenv and found the culprit for the underscore-to-dash rewriting here: https://github.com/kennethreitz/pipenv/blob/master/pipenv/utils.py#L375. This references PEP 423, which in turn references PEP 8 (https://www.python.org/dev/peps/pep-0423/#follow-pep-8-for-syntax-of-package-and-module-names). And if we look at PEP 8 it states that Modules should have short, all-lowercase names. Underscores can be used in the module name if it improves readability. .

So why the removal of underscores in the package name?

@kennethreitz
Copy link
Contributor

I don't think that's what's happening here.

@kennethreitz
Copy link
Contributor

kennethreitz commented Sep 18, 2017

$ pipenv install -e git+https://www.github.com/KTH/everest_util.git#egg=everest_util

@kennethreitz
Copy link
Contributor

We won't resolve it's dependencies, though.

@jotunskij
Copy link
Author

Uh, I'm not sure I'm following. Care to elaborate on whats happening with the pyyaml dependency and the replacing of characters in the package name?

@jck
Copy link

jck commented Sep 20, 2017

We won't resolve it's dependencies, though.

What do you mean by this?

$ pipenv install -e 'git+https://www.github.com/KTH/everest_util.git#egg=everest_util' seems to correctly install the dependencies of everest-util.

@kennethreitz
Copy link
Contributor

we just added support for this!

@jotunskij
Copy link
Author

I'm sorry to come off blunt, but you're not making much sense.

Two issues:

  1. Dependencies are not resolved when using Pipfile, but working when using -e flag
  2. Dependency package name being forcefully rewritten

This issue is still closed, but these two items of concern have imho not been addressed.

@kennethreitz
Copy link
Contributor

editable must be true

@kennethreitz
Copy link
Contributor

[[source]]
url = "https://pypi.python.org/simple"
verify_ssl = true

[dev-packages]

[packages]

[packages.everest_util]
git = "https://github.com/kth/everest_util.git"
editable=true
{
    "_meta": {
        "hash": {
            "sha256": "5b3038b6d7361134f32ab9e2d9c5ba8d8f398c6ea90ac8432a565c32887eb354"
        },
        "host-environment-markers": {
            "implementation_name": "cpython",
            "implementation_version": "3.6.2",
            "os_name": "posix",
            "platform_machine": "x86_64",
            "platform_python_implementation": "CPython",
            "platform_release": "16.7.0",
            "platform_system": "Darwin",
            "platform_version": "Darwin Kernel Version 16.7.0: Thu Jun 15 17:36:27 PDT 2017; root:xnu-3789.70.16~2/RELEASE_X86_64",
            "python_full_version": "3.6.2",
            "python_version": "3.6",
            "sys_platform": "darwin"
        },
        "pipfile-spec": 3,
        "requires": {},
        "sources": [
            {
                "url": "https://pypi.python.org/simple",
                "verify_ssl": true
            }
        ]
    },
    "default": {
        "certifi": {
            "hashes": [
                "sha256:54a07c09c586b0e4c619f02a5e94e36619da8e2b053e20f594348c0611803704",
                "sha256:40523d2efb60523e113b44602298f0960e900388cf3bb6043f645cf57ea9e3f5"
            ],
            "version": "==2017.7.27.1"
        },
        "chardet": {
            "hashes": [
                "sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691",
                "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae"
            ],
            "version": "==3.0.4"
        },
        "click": {
            "hashes": [
                "sha256:29f99fc6125fbc931b758dc053b3114e55c77a6e4c6c3a2674a2dc986016381d",
                "sha256:f15516df478d5a56180fbf80e68f206010e6d160fc39fa508b65e035fd75130b"
            ],
            "version": "==6.7"
        },
        "coloredlogs": {
            "hashes": [
                "sha256:537f898c9b22bc1d50c7c159a289020f3418c1b06a4a43bbb74910e46bbf3c18",
                "sha256:894641ed5e8c48e01fa0b1d62b15cd32030c6c16e1dda42f6ce5f966ac558cae"
            ],
            "version": "==7.3"
        },
        "everest-util": {
            "hashes": [],
            "version": "=="
        },
        "flask": {
            "hashes": [
                "sha256:0749df235e3ff61ac108f69ac178c9770caeaccad2509cb762ce1f65570a8856",
                "sha256:49f44461237b69ecd901cc7ce66feea0319b9158743dd27a2899962ab214dac1"
            ],
            "version": "==0.12.2"
        },
        "humanfriendly": {
            "hashes": [
                "sha256:43a43575cc5c1506a50fb5a536757aa0c2ae94c0ec10572b368510c878fdc0b9",
                "sha256:f1ebb406d37478228b92543c12c27c9a827782d8d241260b3a06512c7f7c3a5e"
            ],
            "version": "==4.4.1"
        },
        "idna": {
            "hashes": [
                "sha256:8c7309c718f94b3a625cb648ace320157ad16ff131ae0af362c9f21b80ef6ec4",
                "sha256:2c6a5de3089009e3da7c5dde64a141dbc8551d5b7f6cf4ed7c2568d0cc520a8f"
            ],
            "version": "==2.6"
        },
        "itsdangerous": {
            "hashes": [
                "sha256:cbb3fcf8d3e33df861709ecaf89d9e6629cff0a217bc2848f1b41cd30d360519"
            ],
            "version": "==0.24"
        },
        "jinja2": {
            "hashes": [
                "sha256:2231bace0dfd8d2bf1e5d7e41239c06c9e0ded46e70cc1094a0aa64b0afeb054",
                "sha256:ddaa01a212cd6d641401cb01b605f4a4d9f37bfc93043d7f760ec70fb99ff9ff"
            ],
            "version": "==2.9.6"
        },
        "markupsafe": {
            "hashes": [
                "sha256:a6be69091dac236ea9c6bc7d012beab42010fa914c459791d627dad4910eb665"
            ],
            "version": "==1.0"
        },
        "pyyaml": {
            "hashes": [
                "sha256:3262c96a1ca437e7e4763e2843746588a965426550f3797a79fca9c6199c431f",
                "sha256:16b20e970597e051997d90dc2cddc713a2876c47e3d92d59ee198700c5427736",
                "sha256:e863072cdf4c72eebf179342c94e6989c67185842d9997960b3e69290b2fa269",
                "sha256:bc6bced57f826ca7cb5125a10b23fd0f2fff3b7c4701d64c439a300ce665fff8",
                "sha256:c01b880ec30b5a6e6aa67b09a2fe3fb30473008c85cd6a67359a1b15ed6d83a4",
                "sha256:827dc04b8fa7d07c44de11fabbc888e627fa8293b695e0f99cb544fdfa1bf0d1",
                "sha256:592766c6303207a20efc445587778322d7f73b161bd994f227adaa341ba212ab",
                "sha256:5f84523c076ad14ff5e6c037fe1c89a7f73a3e04cf0377cb4d017014976433f3",
                "sha256:0c507b7f74b3d2dd4d1322ec8a94794927305ab4cebbe89cc47fe5e81541e6e8",
                "sha256:b4c423ab23291d3945ac61346feeb9a0dc4184999ede5e7c43e1ffb975130ae6",
                "sha256:ca233c64c6e40eaa6c66ef97058cdc80e8d0157a443655baa1b2966e812807ca",
                "sha256:4474f8ea030b5127225b8894d626bb66c01cda098d47a2b0d3429b6700af9fd8",
                "sha256:326420cbb492172dec84b0f65c80942de6cedb5233c413dd824483989c000608",
                "sha256:5ac82e411044fb129bae5cfbeb3ba626acb2af31a8d17d175004b70862a741a7"
            ],
            "version": "==3.12"
        },
        "requests": {
            "hashes": [
                "sha256:6a1b267aa90cac58ac3a765d067950e7dbbf75b1da07e895d1f594193a40a38b",
                "sha256:9c443e7324ba5b85070c4a818ade28bfabedf16ea10206da1132edaa6dda237e"
            ],
            "version": "==2.18.4"
        },
        "urllib3": {
            "hashes": [
                "sha256:06330f386d6e4b195fbfc736b297f58c5a892e4440e54d294d7004e3a9bbea1b",
                "sha256:cc44da8e1145637334317feebd728bd869a35285b93cbb4cca2577da7e62db4f"
            ],
            "version": "==1.22"
        },
        "werkzeug": {
            "hashes": [
                "sha256:e8549c143af3ce6559699a01e26fa4174f4c591dbee0a499f3cd4c3781cdec3d",
                "sha256:903a7b87b74635244548b30d30db4c8947fe64c5198f58899ddcd3a13c23bb26"
            ],
            "version": "==0.12.2"
        }
    },
    "develop": {}
}

@kennethreitz
Copy link
Contributor

@jotunskij
Copy link
Author

Works! Thanks dude.

@kennethreitz
Copy link
Contributor

sorry for the confusion :)

@jotunskij
Copy link
Author

Np! But I might have spoke too soon:

➜  dizin git:(master) ✗ rm -rf /Users/tinglev/.local/share/virtualenvs/dizin-iLyeLnTE
➜  dizin git:(master) ✗ rm Pipfile.lock 
➜  dizin git:(master) ✗ pipenv install 
Creating a virtualenv for this project...
⠋New python executable in /Users/tinglev/.local/share/virtualenvs/dizin-iLyeLnTE/bin/python
Installing setuptools, pip, wheel...done.

Virtualenv location: /Users/tinglev/.local/share/virtualenvs/dizin-iLyeLnTE
No package provided, installing all dependencies.
Pipfile found at /Users/tinglev/Repos/dizin/Pipfile. Considering this to be the project home.
Pipfile.lock not found, creating...
Locking [dev-packages] dependencies...
Locking [packages] dependencies...
Updated Pipfile.lock!
Installing dependencies from Pipfile.lock...
[================================] 17/17 - 00:00:12
To activate this project's virtualenv, run the following:
 $ pipenv shell
➜  dizin git:(master) ✗ ./run_locally.sh
Traceback (most recent call last):
  File "run.py", line 11, in <module>
    from everest_util.entities.application import Application
  File "/Users/tinglev/.local/share/virtualenvs/dizin-iLyeLnTE/src/everest-util/everest_util/entities/application.py", line 11, in <module>
    import yaml
ImportError: No module named yaml
➜  dizin git:(master) ✗ 

And the Pipfile:

[[source]]
url = "https://pypi.python.org/simple"
verify_ssl = true

[dev-packages]
mock = "*"
green = "*"
coverage = "*"

[packages]
flask = "*"
requests = "*"
coloredlogs = "*"
pydocumentdb = "*"

[packages.everest_util]
git = "https://www.github.com/kth/everest_util.git"
ref = "1.1"
editable = true

@jotunskij
Copy link
Author

The entry in Pipfile.lock looks like this:

        "everest-util": {
            "editable": true,
            "git": "https://www.github.com/kth/everest_util.git",
            "ref": "1.1"
        },

Besides from the underscore in the top package name (and not in the git url) being replaced with a dash, it seems fine I guess?

@jotunskij
Copy link
Author

Bypassing the Pipefile still seems to work (as before):

➜  dizin git:(master) ✗ pipenv install -e 'git+https://www.github.com/KTH/everest_util.git@1.1#egg=everest_util'
Installing -e git+https://www.github.com/KTH/everest_util.git@1.1#egg=everest_util...
Obtaining everest_util from git+https://www.github.com/KTH/everest_util.git@1.1#egg=everest_util
  Cloning https://www.github.com/KTH/everest_util.git (to 1.1) to /Users/tinglev/.local/share/virtualenvs/dizin-iLyeLnTE/src/everest-util
Requirement already satisfied: flask in /Users/tinglev/.local/share/virtualenvs/dizin-iLyeLnTE/lib/python2.7/site-packages (from everest_util)
Requirement already satisfied: requests in /Users/tinglev/.local/share/virtualenvs/dizin-iLyeLnTE/lib/python2.7/site-packages (from everest_util)
Requirement already satisfied: coloredlogs in /Users/tinglev/.local/share/virtualenvs/dizin-iLyeLnTE/lib/python2.7/site-packages (from everest_util)
Collecting pyyaml (from everest_util)
Requirement already satisfied: click>=2.0 in /Users/tinglev/.local/share/virtualenvs/dizin-iLyeLnTE/lib/python2.7/site-packages (from flask->everest_util)
Requirement already satisfied: Jinja2>=2.4 in /Users/tinglev/.local/share/virtualenvs/dizin-iLyeLnTE/lib/python2.7/site-packages (from flask->everest_util)
Requirement already satisfied: Werkzeug>=0.7 in /Users/tinglev/.local/share/virtualenvs/dizin-iLyeLnTE/lib/python2.7/site-packages (from flask->everest_util)
Requirement already satisfied: itsdangerous>=0.21 in /Users/tinglev/.local/share/virtualenvs/dizin-iLyeLnTE/lib/python2.7/site-packages (from flask->everest_util)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /Users/tinglev/.local/share/virtualenvs/dizin-iLyeLnTE/lib/python2.7/site-packages (from requests->everest_util)
Requirement already satisfied: certifi>=2017.4.17 in /Users/tinglev/.local/share/virtualenvs/dizin-iLyeLnTE/lib/python2.7/site-packages (from requests->everest_util)
Requirement already satisfied: urllib3<1.23,>=1.21.1 in /Users/tinglev/.local/share/virtualenvs/dizin-iLyeLnTE/lib/python2.7/site-packages (from requests->everest_util)
Requirement already satisfied: idna<2.7,>=2.5 in /Users/tinglev/.local/share/virtualenvs/dizin-iLyeLnTE/lib/python2.7/site-packages (from requests->everest_util)
Requirement already satisfied: humanfriendly>=3.2 in /Users/tinglev/.local/share/virtualenvs/dizin-iLyeLnTE/lib/python2.7/site-packages (from coloredlogs->everest_util)
Requirement already satisfied: MarkupSafe>=0.23 in /Users/tinglev/.local/share/virtualenvs/dizin-iLyeLnTE/lib/python2.7/site-packages (from Jinja2>=2.4->flask->everest_util)
Requirement already satisfied: monotonic; python_version == "2.6" or python_version == "2.7" or python_version == "3.0" or python_version == "3.1" or python_version == "3.2" in /Users/tinglev/.local/share/virtualenvs/dizin-iLyeLnTE/lib/python2.7/site-packages (from humanfriendly>=3.2->coloredlogs->everest_util)
Installing collected packages: pyyaml, everest-util
  Found existing installation: everest-util 1.1
    Uninstalling everest-util-1.1:
      Successfully uninstalled everest-util-1.1
  Running setup.py develop for everest-util
Successfully installed everest-util pyyaml-3.12

Adding -e git+https://www.github.com/KTH/everest_util.git@1.1#egg=everest_util to Pipfile's [packages]...
Locking [dev-packages] dependencies...
Locking [packages] dependencies...
Updated Pipfile.lock!
➜  dizin git:(master) ✗ ./run_locally.sh 
2017-09-25 10:06:11 modules.log INFO Log level set to "DEBUG"
2017-09-25 10:06:11 __main__ INFO Starting application
2017-09-25 10:06:11 __main__ WARNING Dizin is running in dry run mode. No actual integrations will be run.
2017-09-25 10:06:11 werkzeug INFO  * Running on http://0.0.0.0:3010/ (Press CTRL+C to quit)

@jotunskij
Copy link
Author

Maybe open this since it's not resolved and the discussion is ongoing?

@kennethreitz
Copy link
Contributor

Let's see your Pipfile.lock. Does it include yaml? where does that dependency come from?

@jotunskij
Copy link
Author

Pipfile:

[[source]]
url = "https://pypi.python.org/simple"
verify_ssl = true

[dev-packages]
mock = "*"
green = "*"
coverage = "*"

[packages]
flask = "*"
requests = "*"
coloredlogs = "*"
pydocumentdb = "*"

[packages.everest_util]
ref = "1.1"
git = "https://www.github.com/kth/everest_util.git"
editable = true

Pipfile.lock:

{
    "_meta": {
        "hash": {
            "sha256": "8948464283bd454ebac90fc075e7518552a1cfacab550d9f7fd68a2aca714317"
        },
        "host-environment-markers": {
            "implementation_name": "cpython",
            "implementation_version": "0",
            "os_name": "posix",
            "platform_machine": "x86_64",
            "platform_python_implementation": "CPython",
            "platform_release": "16.7.0",
            "platform_system": "Darwin",
            "platform_version": "Darwin Kernel Version 16.7.0: Thu Jun 15 17:36:27 PDT 2017; root:xnu-3789.70.16~2/RELEASE_X86_64",
            "python_full_version": "2.7.13",
            "python_version": "2.7",
            "sys_platform": "darwin"
        },
        "pipfile-spec": 3,
        "requires": {},
        "sources": [
            {
                "url": "https://pypi.python.org/simple",
                "verify_ssl": true
            }
        ]
    },
    "default": {
        "certifi": {
            "hashes": [
                "sha256:54a07c09c586b0e4c619f02a5e94e36619da8e2b053e20f594348c0611803704",
                "sha256:40523d2efb60523e113b44602298f0960e900388cf3bb6043f645cf57ea9e3f5"
            ],
            "version": "==2017.7.27.1"
        },
        "chardet": {
            "hashes": [
                "sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691",
                "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae"
            ],
            "version": "==3.0.4"
        },
        "click": {
            "hashes": [
                "sha256:29f99fc6125fbc931b758dc053b3114e55c77a6e4c6c3a2674a2dc986016381d",
                "sha256:f15516df478d5a56180fbf80e68f206010e6d160fc39fa508b65e035fd75130b"
            ],
            "version": "==6.7"
        },
        "coloredlogs": {
            "hashes": [
                "sha256:537f898c9b22bc1d50c7c159a289020f3418c1b06a4a43bbb74910e46bbf3c18",
                "sha256:894641ed5e8c48e01fa0b1d62b15cd32030c6c16e1dda42f6ce5f966ac558cae"
            ],
            "version": "==7.3"
        },
        "everest-util": {
            "editable": true,
            "git": "https://www.github.com/kth/everest_util.git",
            "ref": "1.1"
        },
        "flask": {
            "hashes": [
                "sha256:0749df235e3ff61ac108f69ac178c9770caeaccad2509cb762ce1f65570a8856",
                "sha256:49f44461237b69ecd901cc7ce66feea0319b9158743dd27a2899962ab214dac1"
            ],
            "version": "==0.12.2"
        },
        "humanfriendly": {
            "hashes": [
                "sha256:43a43575cc5c1506a50fb5a536757aa0c2ae94c0ec10572b368510c878fdc0b9",
                "sha256:f1ebb406d37478228b92543c12c27c9a827782d8d241260b3a06512c7f7c3a5e"
            ],
            "version": "==4.4.1"
        },
        "idna": {
            "hashes": [
                "sha256:8c7309c718f94b3a625cb648ace320157ad16ff131ae0af362c9f21b80ef6ec4",
                "sha256:2c6a5de3089009e3da7c5dde64a141dbc8551d5b7f6cf4ed7c2568d0cc520a8f"
            ],
            "version": "==2.6"
        },
        "itsdangerous": {
            "hashes": [
                "sha256:cbb3fcf8d3e33df861709ecaf89d9e6629cff0a217bc2848f1b41cd30d360519"
            ],
            "version": "==0.24"
        },
        "jinja2": {
            "hashes": [
                "sha256:2231bace0dfd8d2bf1e5d7e41239c06c9e0ded46e70cc1094a0aa64b0afeb054",
                "sha256:ddaa01a212cd6d641401cb01b605f4a4d9f37bfc93043d7f760ec70fb99ff9ff"
            ],
            "version": "==2.9.6"
        },
        "markupsafe": {
            "hashes": [
                "sha256:a6be69091dac236ea9c6bc7d012beab42010fa914c459791d627dad4910eb665"
            ],
            "version": "==1.0"
        },
        "monotonic": {
            "hashes": [
                "sha256:a8c7690953546c6bc8a4f05d347718db50de1225b29f4b9f346c0c6f19bdc286",
                "sha256:2b469e2d7dd403f7f7f79227fe5ad551ee1e76f8bb300ae935209884b93c7c1b"
            ],
            "version": "==1.3"
        },
        "pydocumentdb": {
            "hashes": [
                "sha256:e2caef6f001eec0e1ff09a6b6cf0925e3b20eae277f54166979b577a5b7ed62c",
                "sha256:41a2c8becd2cb824433cebc0e955a96e84470e3bbd53474838002c90e9a1de71"
            ],
            "version": "==2.2.0"
        },
        "requests": {
            "hashes": [
                "sha256:6a1b267aa90cac58ac3a765d067950e7dbbf75b1da07e895d1f594193a40a38b",
                "sha256:9c443e7324ba5b85070c4a818ade28bfabedf16ea10206da1132edaa6dda237e"
            ],
            "version": "==2.18.4"
        },
        "six": {
            "hashes": [
                "sha256:832dc0e10feb1aa2c68dcc57dbb658f1c7e65b9b61af69048abc87a2db00a0eb",
                "sha256:70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9"
            ],
            "version": "==1.11.0"
        },
        "urllib3": {
            "hashes": [
                "sha256:06330f386d6e4b195fbfc736b297f58c5a892e4440e54d294d7004e3a9bbea1b",
                "sha256:cc44da8e1145637334317feebd728bd869a35285b93cbb4cca2577da7e62db4f"
            ],
            "version": "==1.22"
        },
        "werkzeug": {
            "hashes": [
                "sha256:e8549c143af3ce6559699a01e26fa4174f4c591dbee0a499f3cd4c3781cdec3d",
                "sha256:903a7b87b74635244548b30d30db4c8947fe64c5198f58899ddcd3a13c23bb26"
            ],
            "version": "==0.12.2"
        }
    },
    "develop": {
        "backports.shutil-get-terminal-size": {
            "hashes": [
                "sha256:0975ba55054c15e346944b38956a4c9cbee9009391e41b86c68990effb8c1f64",
                "sha256:713e7a8228ae80341c70586d1cc0a8caa5207346927e23d09dcbcaf18eadec80"
            ],
            "version": "==1.0.0"
        },
        "colorama": {
            "hashes": [
                "sha256:463f8483208e921368c9f306094eb6f725c6ca42b0f97e313cb5d5512459feda",
                "sha256:48eb22f4f8461b1df5734a074b57042430fb06e1d61bd1e11b078c0fe6d7a1f1"
            ],
            "version": "==0.3.9"
        },
        "coverage": {
            "hashes": [
                "sha256:c1456f66c536010cf9e4633a8853a9153e8fd588393695295afd4d0fc16c1d74",
                "sha256:97a7ec51cdde3a386e390b159b20f247ccb478084d925c75f1faa3d26c01335e",
                "sha256:83e955b975666b5a07d217135e7797857ce844eb340a99e46cc25525120417c4",
                "sha256:483ed14080c5301048128bb027b77978c632dd9e92e3ecb09b7e28f5b92abfcf",
                "sha256:ef574ab9640bcfa2f3c671831faf03f65788945fdf8efa4d4a1fffc034838e2a",
                "sha256:c5a205b4da3c624f5119dc4d84240789b5906bb8468902ec22dcc4aad8aa4638",
                "sha256:5dea90ed140e7fa9bc00463313f9bc4a6e6aff297b4969615e7a688615c4c4d2",
                "sha256:f9e83b39d29c2815a38e4118d776b482d4082b5bf9c9147fbc99a3f83abe480a",
                "sha256:700040c354f0230287906b1276635552a3def4b646e0145555bc9e2e5da9e365",
                "sha256:7f1eacae700c66c3d7362a433b228599c9d94a5a3a52613dddd9474e04deb6bc",
                "sha256:13ef9f799c8fb45c446a239df68034de3a6f3de274881b088bebd7f5661f79f8",
                "sha256:dfb011587e2b7299112f08a2a60d2601706aac9abde37aa1177ea825adaed923",
                "sha256:381be5d31d3f0d912334cf2c159bc7bea6bfe6b0e3df6061a3bf2bf88359b1f6",
                "sha256:83a477ac4f55a6ef59552683a0544d47b68a85ce6a80fd0ca6b3dc767f6495fb",
                "sha256:dfd35f1979da31bcabbe27bcf78d4284d69870731874af629082590023a77336",
                "sha256:9681efc2d310cfc53863cc6f63e88ebe7a48124550fa822147996cb09390b6ab",
                "sha256:53770b20ac5b4a12e99229d4bae57af0945be87cc257fce6c6c7571a39f0c5d4",
                "sha256:8801880d32f11b6df11c32a961e186774b4634ae39d7c43235f5a24368a85f07",
                "sha256:16db2c69a1acbcb3c13211e9f954e22b22a729909d81f983b6b9badacc466eda",
                "sha256:ef43a06a960b46c73c018704051e023ee6082030f145841ffafc8728039d5a88",
                "sha256:c3e2736664a6074fc9bd54fb643f5af0fc60bfedb2963b3d3f98c7450335e34c",
                "sha256:17709e22e4c9f5412ba90f446fb13b245cc20bf4a60377021bbff6c0f1f63e7c",
                "sha256:a2f7106d1167825c4115794c2ba57cc3b15feb6183db5328fa66f94c12902d8b",
                "sha256:2a08e978f402696c6956eee9d1b7e95d3ad042959b71bafe1f3e4557cbd6e0ac",
                "sha256:57f510bb16efaec0b6f371b64a8000c62e7e3b3e48e8b0a5745ade078d849814",
                "sha256:0f1883eab9c19aa243f51308751b8a2a547b9b817b721cc0ecf3efb99fafbea7",
                "sha256:e00fe141e22ce6e9395aa24d862039eb180c6b7e89df0bbaf9765e9aebe560a9",
                "sha256:ec596e4401553caa6dd2e3349ce47f9ef82c1f1bcba5d8ac3342724f0df8d6ff",
                "sha256:c820a533a943ebc860acc0ce6a00dd36e0fdf2c6f619ff8225755169428c5fa2",
                "sha256:b7f7283eb7badd2b8a9c6a9d6eeca200a0a24db6be79baee2c11398f978edcaa",
                "sha256:a5ed27ad3e8420b2d6b625dcbd3e59488c14ccc06030167bcf14ffb0f4189b77",
                "sha256:d7b70b7b4eb14d0753d33253fe4f121ca99102612e2719f0993607deb30c6f33",
                "sha256:4047dc83773869701bde934fb3c4792648eda7c0e008a77a0aec64157d246801",
                "sha256:7a9c44400ee0f3b4546066e0710e1250fd75831adc02ab99dda176ad8726f424",
                "sha256:0f649e68db74b1b5b8ca4161d08eb2b8fa8ae11af1ebfb80e80e112eb0ef5300",
                "sha256:52964fae0fafef8bd283ad8e9a9665205a9fdf912535434defc0ec3def1da26b",
                "sha256:36aa6c8db83bc27346ddcd8c2a60846a7178ecd702672689d3ea1828eb1a4d11",
                "sha256:9824e15b387d331c0fc0fef905a539ab69784368a1d6ac3db864b4182e520948",
                "sha256:4a678e1b9619a29c51301af61ab84122e2f8cc7a0a6b40854b808ac6be604300",
                "sha256:8bb7c8dca54109b61013bc4114d96effbf10dea136722c586bce3a5d9fc4e730",
                "sha256:1a41d621aa9b6ab6457b557a754d50aaff0813fad3453434de075496fca8a183",
                "sha256:0fa423599fc3d9e18177f913552cdb34a8d9ad33efcf52a98c9d4b644edb42c5",
                "sha256:e61a4ba0b2686040cb4828297c7e37bcaf3a1a1c0bc0dbe46cc789dde51a80fa",
                "sha256:ce9ef0fc99d11d418662e36fd8de6d71b19ec87c2eab961a117cc9d087576e72"
            ],
            "version": "==4.4.1"
        },
        "funcsigs": {
            "hashes": [
                "sha256:330cc27ccbf7f1e992e69fef78261dc7c6569012cf397db8d3de0234e6c937ca",
                "sha256:a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50"
            ],
            "version": "==1.0.2"
        },
        "green": {
            "hashes": [
                "sha256:0a64e7372079f57643e26e220d1d8ccecb26ba6416963d61e2ec20d2990eda98"
            ],
            "version": "==2.11.0"
        },
        "mock": {
            "hashes": [
                "sha256:5ce3c71c5545b472da17b72268978914d0252980348636840bd34a00b5cc96c1",
                "sha256:b158b6df76edd239b8208d481dc46b6afd45a846b7812ff0ce58971cf5bc8bba"
            ],
            "version": "==2.0.0"
        },
        "pbr": {
            "hashes": [
                "sha256:60c25b7dfd054ef9bb0ae327af949dd4676aa09ac3a9471cdc871d8a9213f9ac",
                "sha256:05f61c71aaefc02d8e37c0a3eeb9815ff526ea28b3b76324769e6158d7f95be1"
            ],
            "version": "==3.1.1"
        },
        "python-termstyle": {
            "hashes": [
                "sha256:f42a6bb16fbfc5e2c66d553e7ad46524ea833872f75ee5d827c15115fafc94e2",
                "sha256:6faf42ba42f2826c38cf70dacb3ac51f248a418e48afc0e36593df11cf3ab1d2"
            ],
            "version": "==0.1.10"
        },
        "six": {
            "hashes": [
                "sha256:832dc0e10feb1aa2c68dcc57dbb658f1c7e65b9b61af69048abc87a2db00a0eb",
                "sha256:70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9"
            ],
            "version": "==1.11.0"
        },
        "unidecode": {
            "hashes": [
                "sha256:61f807220eda0203a774a09f84b4304a3f93b5944110cc132af29ddb81366883",
                "sha256:280a6ab88e1f2eb5af79edff450021a0d3f0448952847cd79677e55e58bad051"
            ],
            "version": "==0.4.21"
        }
    }
}

@jotunskij
Copy link
Author

Still an issue - should probably be opened again.

@nateprewitt
Copy link
Member

Yep, I can confirm this is still broken. Something weird is going on though. I've got --verbose logs showing that pyyaml is definitely being installed and you can import after activating pipenv shell. When running pipenv run python -m "import yaml" though, it can't seem to find the package.

@erinxocon
Copy link
Contributor

@nateprewitt is this still broken in v8.3.0?

@nateprewitt
Copy link
Member

@erinxocon as far as I can tell no one has added a patch for this.

@erinxocon
Copy link
Contributor

@nateprewitt @jotunskij I am having some problems reproducing this in v8.3.1. With the following Pipfile:

[[source]]
url = "https://pypi.python.org/simple"
verify_ssl = true

[dev-packages]

[packages]

[packages.everest_util]
ref = "1.1"
git = "https://www.github.com/kth/everest_util.git"
editable = true

I get the associated Pipfile.lock:

{
    "_meta": {
        "hash": {
            "sha256": "2fffaf4a72011b4ed9e17fb9f734670f149090028f843e7c20892ca4dc035698"
        },
        "host-environment-markers": {
            "implementation_name": "cpython",
            "implementation_version": "3.6.3",
            "os_name": "posix",
            "platform_machine": "x86_64",
            "platform_python_implementation": "CPython",
            "platform_release": "4.4.0-43-Microsoft",
            "platform_system": "Linux",
            "platform_version": "#1-Microsoft Wed Dec 31 14:42:53 PST 2014",
            "python_full_version": "3.6.3",
            "python_version": "3.6",
            "sys_platform": "linux"
        },
        "pipfile-spec": 6,
        "requires": {},
        "sources": [
            {
                "url": "https://pypi.python.org/simple",
                "verify_ssl": true
            }
        ]
    },
    "default": {
        "certifi": {
            "hashes": [
                "sha256:54a07c09c586b0e4c619f02a5e94e36619da8e2b053e20f594348c0611803704",
                "sha256:40523d2efb60523e113b44602298f0960e900388cf3bb6043f645cf57ea9e3f5"
            ],
            "version": "==2017.7.27.1"
        },
        "chardet": {
            "hashes": [
                "sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691",
                "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae"
            ],
            "version": "==3.0.4"
        },
        "click": {
            "hashes": [
                "sha256:29f99fc6125fbc931b758dc053b3114e55c77a6e4c6c3a2674a2dc986016381d",
                "sha256:f15516df478d5a56180fbf80e68f206010e6d160fc39fa508b65e035fd75130b"
            ],
            "version": "==6.7"
        },
        "coloredlogs": {
            "hashes": [
                "sha256:537f898c9b22bc1d50c7c159a289020f3418c1b06a4a43bbb74910e46bbf3c18",
                "sha256:894641ed5e8c48e01fa0b1d62b15cd32030c6c16e1dda42f6ce5f966ac558cae"
            ],
            "version": "==7.3"
        },
        "everest-util": {
            "editable": true,
            "git": "https://www.github.com/kth/everest_util.git",
            "ref": "1.1"
        },
        "flask": {
            "hashes": [
                "sha256:0749df235e3ff61ac108f69ac178c9770caeaccad2509cb762ce1f65570a8856",
                "sha256:49f44461237b69ecd901cc7ce66feea0319b9158743dd27a2899962ab214dac1"
            ],
            "version": "==0.12.2"
        },
        "humanfriendly": {
            "hashes": [
                "sha256:43a43575cc5c1506a50fb5a536757aa0c2ae94c0ec10572b368510c878fdc0b9",
                "sha256:f1ebb406d37478228b92543c12c27c9a827782d8d241260b3a06512c7f7c3a5e"
            ],
            "version": "==4.4.1"
        },
        "idna": {
            "hashes": [
                "sha256:8c7309c718f94b3a625cb648ace320157ad16ff131ae0af362c9f21b80ef6ec4",
                "sha256:2c6a5de3089009e3da7c5dde64a141dbc8551d5b7f6cf4ed7c2568d0cc520a8f"
            ],
            "version": "==2.6"
        },
        "itsdangerous": {
            "hashes": [
                "sha256:cbb3fcf8d3e33df861709ecaf89d9e6629cff0a217bc2848f1b41cd30d360519"
            ],
            "version": "==0.24"
        },
        "jinja2": {
            "hashes": [
                "sha256:2231bace0dfd8d2bf1e5d7e41239c06c9e0ded46e70cc1094a0aa64b0afeb054",
                "sha256:ddaa01a212cd6d641401cb01b605f4a4d9f37bfc93043d7f760ec70fb99ff9ff"
            ],
            "version": "==2.9.6"
        },
        "markupsafe": {
            "hashes": [
                "sha256:a6be69091dac236ea9c6bc7d012beab42010fa914c459791d627dad4910eb665"
            ],
            "version": "==1.0"
        },
        "pyyaml": {
            "hashes": [
                "sha256:3262c96a1ca437e7e4763e2843746588a965426550f3797a79fca9c6199c431f",
                "sha256:16b20e970597e051997d90dc2cddc713a2876c47e3d92d59ee198700c5427736",
                "sha256:e863072cdf4c72eebf179342c94e6989c67185842d9997960b3e69290b2fa269",
                "sha256:bc6bced57f826ca7cb5125a10b23fd0f2fff3b7c4701d64c439a300ce665fff8",
                "sha256:c01b880ec30b5a6e6aa67b09a2fe3fb30473008c85cd6a67359a1b15ed6d83a4",
                "sha256:827dc04b8fa7d07c44de11fabbc888e627fa8293b695e0f99cb544fdfa1bf0d1",
                "sha256:592766c6303207a20efc445587778322d7f73b161bd994f227adaa341ba212ab",
                "sha256:5f84523c076ad14ff5e6c037fe1c89a7f73a3e04cf0377cb4d017014976433f3",
                "sha256:0c507b7f74b3d2dd4d1322ec8a94794927305ab4cebbe89cc47fe5e81541e6e8",
                "sha256:b4c423ab23291d3945ac61346feeb9a0dc4184999ede5e7c43e1ffb975130ae6",
                "sha256:ca233c64c6e40eaa6c66ef97058cdc80e8d0157a443655baa1b2966e812807ca",
                "sha256:4474f8ea030b5127225b8894d626bb66c01cda098d47a2b0d3429b6700af9fd8",
                "sha256:326420cbb492172dec84b0f65c80942de6cedb5233c413dd824483989c000608",
                "sha256:5ac82e411044fb129bae5cfbeb3ba626acb2af31a8d17d175004b70862a741a7"
            ],
            "version": "==3.12"
        },
        "requests": {
            "hashes": [
                "sha256:6a1b267aa90cac58ac3a765d067950e7dbbf75b1da07e895d1f594193a40a38b",
                "sha256:9c443e7324ba5b85070c4a818ade28bfabedf16ea10206da1132edaa6dda237e"
            ],
            "version": "==2.18.4"
        },
        "urllib3": {
            "hashes": [
                "sha256:06330f386d6e4b195fbfc736b297f58c5a892e4440e54d294d7004e3a9bbea1b",
                "sha256:cc44da8e1145637334317feebd728bd869a35285b93cbb4cca2577da7e62db4f"
            ],
            "version": "==1.22"
        },
        "werkzeug": {
            "hashes": [
                "sha256:e8549c143af3ce6559699a01e26fa4174f4c591dbee0a499f3cd4c3781cdec3d",
                "sha256:903a7b87b74635244548b30d30db4c8947fe64c5198f58899ddcd3a13c23bb26"
            ],
            "version": "==0.12.2"
        }
    },
    "develop": {}
}

When I run pipenv run python -m "yaml" I get the following: /home/erin/.local/share/virtualenvs/pipenv-test-jIGnbZTt/bin/python: No module named yaml.__main__; 'yaml' is a package and cannot be directly executed

It appears my project can see all the packages installed from the lock file.

@jotunskij
Copy link
Author

jotunskij commented Nov 4, 2017

The issue seems to present itself when importing a file in the everes_util package that imports yaml. I made this small test program with which I am able to reproduce the error with your Pipfile:

from everest_util.entities.application import Application

def main():
    pass

if __name__ == '__main__':
    main()

Then pipenv run python run.py

And the error:

➜  temp pipenv run python run.py
Traceback (most recent call last):
  File "run.py", line 1, in <module>
    from everest_util.entities.application import Application
  File "/Users/tinglev/.local/share/virtualenvs/temp-qIoEBWyl/src/everest-util/everest_util/entities/application.py", line 11, in <module>
    import yaml
ImportError: No module named yaml

@erinxocon
Copy link
Contributor

Thanks @jotunskij for the sample app. This will aid my testing!

@jotunskij
Copy link
Author

I just did a pip install --user --upgrade pipenv and the issue actually seems to be gone. Has there been any changes to the github dependency functionality in the recent releases that might explain this?

@erinxocon
Copy link
Contributor

What version were you coming from @jotunskij?

@erinxocon
Copy link
Contributor

We have had some changes in the dependency resolution sort of recently..

@jotunskij
Copy link
Author

I'm actually not sure what version I was on (any clever pip command you know of that shows installation history?), but probably the latest one when I opened this issue - so 7.2ish according to the release page here on github?

Thanks för the help @erinxocon!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Bug 🐛 This issue is a bug.
Projects
None yet
Development

No branches or pull requests

5 participants