Mengapa tidak dapat dieksekusi pip-instal tersedia dari baris perintah?

1

Saya telah menginstal Python dengan Homebrew. Saya ingin menggunakan pipuntuk menginstal paket tambahan, beberapa di antaranya datang dengan executable yang dimaksudkan untuk dipanggil dari baris perintah, misalnya crossbaratau virtualenv-tools.

Tetapi ini tidak berhasil dan saya tidak tahu mengapa:

$ pip install virtualenv-tools
Requirement already satisfied: virtualenv-tools in /usr/local/lib/python2.7/site-packages
$ virtualenv-tools
-bash: virtualenv-tools: command not found
$ find /usr/ -name virtualenv-tools
/usr//local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/bin/virtualenv-tools

Jadi, pipinstal virtualenv-toolspaket dengan benar , termasuk yang dapat dieksekusi, tetapi entah bagaimana tidak membuat executable ini tersedia untuk baris perintah.

Apakah saya melewatkan sesuatu di sini?

bagian belakang
sumber

Jawaban:

3

Tidak ada yang bisa virtualenv-toolsdieksekusi dalam virtualenv-toolspaket, itu sebabnya Anda tidak bisa menjalankannya. Ini berisi skrip bernama virtualenv, yang harus Anda bisa jalankan. Baca dokumentasi tentang cara menggunakannya terlebih dahulu:

Virtualenv memiliki satu perintah dasar:

$ virtualenv ENV

Bagaimanapun, secara umum, ketika Anda menginstal paket menggunakan pipdan berisi skrip yang dapat dieksekusi, itu dimasukkan ke direktori yang harus berada dalam PATHvariabel lingkungan untuk dapat menjalankannya dari mana saja. Direktori ini tergantung pada sistem yang digunakan:

  • Linux: /usr/bin
  • Mac: /usr/local/bin(saat Homebrew Python digunakan)
  • Windows: <python_directory>/Scripts

Jadi pertama-tama, pastikan direktori ada di PATH(ini terutama masalah pada Windows; Linux dan Mac memilikinya secara default). Kedua, periksa apakah skrip ada di direktori dan dapat dieksekusi.

Juga, banyak paket hanya pustaka tanpa ada yang dapat dieksekusi, jadi Anda harus selalu membaca dokumentasi paket terlebih dahulu untuk mengetahui cara menggunakannya.

Dawid Ferenczy Rogožan
sumber
1
Sementara macOS adalah Unix, Homebrew tidak digunakan /usr/bin. Ini menggunakan /usr/local/binsebagai gantinya.
slhck
The virtualenv-toolspaket tidak sama dengan virtualenvpaket, dan memang memberikan virtualenv-toolsexecutable: pypi.python.org/pypi/virtualenv-tools . Saya memiliki masalah yang sama dengan menginstal crossbardengan pip install crossbar: crossbarexecutable tidak tersedia dari baris perintah.
lindelof