Skip to content

Environment initialization fails with custom path to pipenv #8

Open
@khinsen

Description

@khinsen

I have lots of Python installations and environments on my system, and the one I want to use for PythonBridge is not on $PATH for a number of good reasons. So I use PBPharoPipenvProcess pipenvPath: '/PATH/TO/PIPENV/BINARY' as instructed in the manual. But the initialization of that environment fails.

The cause lies in PBPharoPlatform >> #forceInstallEnvironmentForApp:. It runs (self folderForApplication: application) / 'install_env.sh') fullName, which in turn calls pipenv without an explicit path. Bash thus looks it up on $PATH, and that fails.

The best fix, in my opinion, would be to patch install_env.sh inside forceInstallEnvironmentForApp:, inserting the full path to pipenv. But perhaps this has some disadvantage that I don't see yet. If you think that's a good idea, I'd be happy to submit a PR.

Another fix would be to add the directory containing pipenv to the path of the shell process. The problem with that is that you never know which other executables are in that directory, so this could break something that pipenv relies on.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions