Skip to content

fix enaml-native binary not found in path #29

@rodgomesc

Description

@rodgomesc

install the cli with --user doesn't allow it to be callable from terminal, because the cli is installed under /Users/myuser/.local/bin/enaml-native which is not the default binary folder included on path for miniconda

Environment info

>> sw_vers -productName && sw_vers -productVersion
macOS
13.4.1

>> python --version
Python 3.11.3

>> pip --version
pip 23.1.2 from /Users/rodrigogomes/miniconda3/lib/python3.11/site-packages/pip (python 3.11)

>> which python
/Users/rodrigogomes/miniconda3/bin/python

>> which pip
 /Users/rodrigogomes/miniconda3/bin/pip
 
 >>  echo $PATH            
/Users/rodrigogomes/.rvm/gems/ruby-3.2.2/bin:/Users/rodrigogomes/.rvm/gems/ruby-3.2.2@global/bin:/Users/rodrigogomes/.rvm/rubies/ruby-3.2.2/bin:/opt/homebrew/opt/ffmpeg@2.8/bin:/opt/homebrew/opt/mysql-client/bin:/Users/rodrigogomes/.nvm/versions/node/v18.2.0/bin:/Users/rodrigogomes/miniconda3/bin:/Users/rodrigogomes/miniconda3/condabin:/Library/Java/JavaVirtualMachines/zulu-11.jdk/Contents/Home/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/VMware Fusion.app/Contents/Public:/Library/Apple/usr/bin:/Library/Frameworks/Mono.framework/Versions/Current/Commands:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Users/rodrigogomes/Library/Android/sdk/emulator:/Users/rodrigogomes/Library/Android/sdk/tools:/Users/rodrigogomes/Library/Android/sdk/tools/bin:/Users/rodrigogomes/Library/Android/sdk/platform-tools:/Users/rodrigogomes/.rvm/bin

install with --user

(base) pip install --user enaml-native-cli
Requirement already satisfied: enaml-native-cli in /Users/rodrigogomes/.local/lib/python3.11/site-packages (3.0.0)
Requirement already satisfied: sh in /Users/rodrigogomes/.local/lib/python3.11/site-packages (from enaml-native-cli) (2.0.4)
Requirement already satisfied: atom in /Users/rodrigogomes/.local/lib/python3.11/site-packages (from enaml-native-cli) (0.10.0)
Requirement already satisfied: ruamel.yaml in /Users/rodrigogomes/miniconda3/lib/python3.11/site-packages (from enaml-native-cli) (0.17.21)
Requirement already satisfied: cookiecutter in /Users/rodrigogomes/.local/lib/python3.11/site-packages (from enaml-native-cli) (2.1.1)
Requirement already satisfied: pbs in /Users/rodrigogomes/.local/lib/python3.11/site-packages (from enaml-native-cli) (66.0.2)
Requirement already satisfied: binaryornot>=0.4.4 in /Users/rodrigogomes/.local/lib/python3.11/site-packages (from cookiecutter->enaml-native-cli) (0.4.4)
Requirement already satisfied: Jinja2<4.0.0,>=2.7 in /Users/rodrigogomes/miniconda3/lib/python3.11/site-packages (from cookiecutter->enaml-native-cli) (3.1.2)
Requirement already satisfied: click<9.0.0,>=7.0 in /Users/rodrigogomes/miniconda3/lib/python3.11/site-packages (from cookiecutter->enaml-native-cli) (8.1.3)
Requirement already satisfied: pyyaml>=5.3.1 in /Users/rodrigogomes/miniconda3/lib/python3.11/site-packages (from cookiecutter->enaml-native-cli) (6.0)
Requirement already satisfied: jinja2-time>=0.2.0 in /Users/rodrigogomes/.local/lib/python3.11/site-packages (from cookiecutter->enaml-native-cli) (0.2.0)
Requirement already satisfied: python-slugify>=4.0.0 in /Users/rodrigogomes/.local/lib/python3.11/site-packages (from cookiecutter->enaml-native-cli) (8.0.1)
Requirement already satisfied: requests>=2.23.0 in /Users/rodrigogomes/miniconda3/lib/python3.11/site-packages (from cookiecutter->enaml-native-cli) (2.31.0)
Requirement already satisfied: chardet>=3.0.2 in /Users/rodrigogomes/.local/lib/python3.11/site-packages (from binaryornot>=0.4.4->cookiecutter->enaml-native-cli) (5.1.0)
Requirement already satisfied: MarkupSafe>=2.0 in /Users/rodrigogomes/miniconda3/lib/python3.11/site-packages (from Jinja2<4.0.0,>=2.7->cookiecutter->enaml-native-cli) (2.1.1)
Requirement already satisfied: arrow in /Users/rodrigogomes/.local/lib/python3.11/site-packages (from jinja2-time>=0.2.0->cookiecutter->enaml-native-cli) (1.2.3)
Requirement already satisfied: text-unidecode>=1.3 in /Users/rodrigogomes/.local/lib/python3.11/site-packages (from python-slugify>=4.0.0->cookiecutter->enaml-native-cli) (1.3)
Requirement already satisfied: charset-normalizer<4,>=2 in /Users/rodrigogomes/miniconda3/lib/python3.11/site-packages (from requests>=2.23.0->cookiecutter->enaml-native-cli) (2.0.4)
Requirement already satisfied: idna<4,>=2.5 in /Users/rodrigogomes/miniconda3/lib/python3.11/site-packages (from requests>=2.23.0->cookiecutter->enaml-native-cli) (3.4)
Requirement already satisfied: urllib3<3,>=1.21.1 in /Users/rodrigogomes/miniconda3/lib/python3.11/site-packages (from requests>=2.23.0->cookiecutter->enaml-native-cli) (2.0.3)
Requirement already satisfied: certifi>=2017.4.17 in /Users/rodrigogomes/miniconda3/lib/python3.11/site-packages (from requests>=2.23.0->cookiecutter->enaml-native-cli) (2023.5.7)
Requirement already satisfied: python-dateutil>=2.7.0 in /Users/rodrigogomes/miniconda3/lib/python3.11/site-packages (from arrow->jinja2-time>=0.2.0->cookiecutter->enaml-native-cli) (2.8.2)
Requirement already satisfied: six>=1.5 in /Users/rodrigogomes/miniconda3/lib/python3.11/site-packages (from python-dateutil>=2.7.0->arrow->jinja2-time>=0.2.0->cookiecutter->enaml-native-cli) (1.16.0)


>> ls /Users/rodrigogomes/miniconda3/bin | grep 'enaml'
(no output)

>> enaml-native     
zsh: command not found: enaml-native

install without --user

pip install enaml-native-cli       
Collecting enaml-native-cli
 Using cached enaml_native_cli-3.0.0-py3-none-any.whl (434 kB)
Requirement already satisfied: sh in /Users/rodrigogomes/.local/lib/python3.11/site-packages (from enaml-native-cli) (2.0.4)
Requirement already satisfied: atom in /Users/rodrigogomes/.local/lib/python3.11/site-packages (from enaml-native-cli) (0.10.0)
Requirement already satisfied: ruamel.yaml in /Users/rodrigogomes/miniconda3/lib/python3.11/site-packages (from enaml-native-cli) (0.17.21)
Requirement already satisfied: cookiecutter in /Users/rodrigogomes/.local/lib/python3.11/site-packages (from enaml-native-cli) (2.1.1)
Requirement already satisfied: pbs in /Users/rodrigogomes/.local/lib/python3.11/site-packages (from enaml-native-cli) (66.0.2)
Requirement already satisfied: binaryornot>=0.4.4 in /Users/rodrigogomes/.local/lib/python3.11/site-packages (from cookiecutter->enaml-native-cli) (0.4.4)
Requirement already satisfied: Jinja2<4.0.0,>=2.7 in /Users/rodrigogomes/miniconda3/lib/python3.11/site-packages (from cookiecutter->enaml-native-cli) (3.1.2)
Requirement already satisfied: click<9.0.0,>=7.0 in /Users/rodrigogomes/miniconda3/lib/python3.11/site-packages (from cookiecutter->enaml-native-cli) (8.1.3)
Requirement already satisfied: pyyaml>=5.3.1 in /Users/rodrigogomes/miniconda3/lib/python3.11/site-packages (from cookiecutter->enaml-native-cli) (6.0)
Requirement already satisfied: jinja2-time>=0.2.0 in /Users/rodrigogomes/.local/lib/python3.11/site-packages (from cookiecutter->enaml-native-cli) (0.2.0)
Requirement already satisfied: python-slugify>=4.0.0 in /Users/rodrigogomes/.local/lib/python3.11/site-packages (from cookiecutter->enaml-native-cli) (8.0.1)
Requirement already satisfied: requests>=2.23.0 in /Users/rodrigogomes/miniconda3/lib/python3.11/site-packages (from cookiecutter->enaml-native-cli) (2.31.0)
Requirement already satisfied: chardet>=3.0.2 in /Users/rodrigogomes/.local/lib/python3.11/site-packages (from binaryornot>=0.4.4->cookiecutter->enaml-native-cli) (5.1.0)
Requirement already satisfied: MarkupSafe>=2.0 in /Users/rodrigogomes/miniconda3/lib/python3.11/site-packages (from Jinja2<4.0.0,>=2.7->cookiecutter->enaml-native-cli) (2.1.1)
Requirement already satisfied: arrow in /Users/rodrigogomes/.local/lib/python3.11/site-packages (from jinja2-time>=0.2.0->cookiecutter->enaml-native-cli) (1.2.3)
Requirement already satisfied: text-unidecode>=1.3 in /Users/rodrigogomes/.local/lib/python3.11/site-packages (from python-slugify>=4.0.0->cookiecutter->enaml-native-cli) (1.3)
Requirement already satisfied: charset-normalizer<4,>=2 in /Users/rodrigogomes/miniconda3/lib/python3.11/site-packages (from requests>=2.23.0->cookiecutter->enaml-native-cli) (2.0.4)
Requirement already satisfied: idna<4,>=2.5 in /Users/rodrigogomes/miniconda3/lib/python3.11/site-packages (from requests>=2.23.0->cookiecutter->enaml-native-cli) (3.4)
Requirement already satisfied: urllib3<3,>=1.21.1 in /Users/rodrigogomes/miniconda3/lib/python3.11/site-packages (from requests>=2.23.0->cookiecutter->enaml-native-cli) (2.0.3)
Requirement already satisfied: certifi>=2017.4.17 in /Users/rodrigogomes/miniconda3/lib/python3.11/site-packages (from requests>=2.23.0->cookiecutter->enaml-native-cli) (2023.5.7)
Requirement already satisfied: python-dateutil>=2.7.0 in /Users/rodrigogomes/miniconda3/lib/python3.11/site-packages (from arrow->jinja2-time>=0.2.0->cookiecutter->enaml-native-cli) (2.8.2)
Requirement already satisfied: six>=1.5 in /Users/rodrigogomes/miniconda3/lib/python3.11/site-packages (from python-dateutil>=2.7.0->arrow->jinja2-time>=0.2.0->cookiecutter->enaml-native-cli) (1.16.0)
Installing collected packages: enaml-native-cli
Successfully installed enaml-native-cli-3.0.0

>> ls /Users/rodrigogomes/miniconda3/bin | grep 'enaml'
enaml-native

given that Miniconda defaults to a location that doesn't require read-write permissions, it might make sense to remove the --user option from pip commands. Although it's possible to suggest including both /Users/myuser/miniconda3/bin and /Users/myuser/.local/bin/ in the PATH, but doing this seems to potentially lead to harder-to-detect errors and version mismatches for library names. What are your thoughts on this @frmdstryr ?

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