Saya baru mengenal pengembangan Python dan mencoba menggunakan pipenv. Saya menjalankan perintah pip install pipenv
, yang berjalan dengan sukses:
...
Successfully built pipenv pathlib shutilwhich pythonz-bd virtualenv-clone
Installing collected packages: virtualenv, pathlib, shutilwhich, backports.shutil-get-terminal-size, pythonz-bd, virtualenv-clone, pew, first, six, click, pip-tools, certifi, chardet, idna, urllib3, requests, pipenv
...
Namun, ketika saya menjalankan perintah pipenv install
dalam direktori proyek akar segar saya menerima pesan berikut: -bash: pipenv: command not found
. Saya menduga bahwa saya mungkin perlu memodifikasi .bashrc saya, tetapi saya tidak jelas tentang apa yang harus ditambahkan ke file atau jika modifikasi bahkan diperlukan.
python
python-3.x
pip
pipenv
lgants
sumber
sumber
/usr/local/bin/pipenv
- apakah di sana? Apakah/usr/local/bin
di dalam Anda$PATH
?pipenv
secara global?Jawaban:
Itu terjadi karena Anda tidak menginstalnya secara global (seluruh sistem). Agar tersedia di Anda,
path
Anda perlu menginstalnya menggunakansudo
, seperti ini:sumber
sudo -H pip install -U pipenv
(misalnya di ubuntu), menginstalpipenv
di/usr/local/bin
. Alternatifnya adalah penginstalan pengguna, misalnya,$ pip install pipenv
yang sama dengan$ pip install --user pipenv
, yang menginstal sesuatu$HOME/.local/...
, memerlukanPATH
modifikasi seperti di jawaban lain, stackoverflow.com/a/47111756/127971Ini memperbaikinya untuk saya:
sumber
Jika Anda telah melakukan penginstalan pengguna, Anda harus menambahkan folder yang tepat ke
PATH
variabel Anda .Lihat petunjuk instalasi pipenv
sumber
pipenv run
, dan instruksi penginstalan memberi tahu saya demikian.python3 -m site
untuk melihat apakah dir --user-base ada!Saya mencoba ini:
python -m pipenv # for python2
python3 -m pipenv # for python3
Semoga ini bisa membantu Anda.
sumber
Saya memiliki masalah yang sama dengan
pipenv
di Mac OS X 10.13 High Seirra, Mac lain berfungsi dengan baik. Saya menggunakan Heroku untuk menyebarkan server Django saya, beberapa di 2.7 dan beberapa di 3.6. Jadi, saya membutuhkan 2.7 dan 3.6. Ketika HomeBrew menginstal Python, itu membuatpython
poin ke 2.7 asli, danpython3
menunjuk ke 3.6.Masalahnya mungkin karena
$ pip install pipenv
. Saya memeriksa / usr / local / bin dan pipenv tidak ada. Jadi, saya mencoba uninstall penuh:Kemudian instal ulang dan berfungsi sekarang:
sumber
KAMU OSX, DI SINI !!!
Seperti yang dijawab oleh @charlax (bagi saya yang terbaik), Anda dapat menggunakan perintah yang lebih dinamis untuk menyetel PATH, tetapi untuk pengguna mac ini tidak dapat berfungsi , terkadang jalur USER_BASE Anda yang didapat dari situs salah, jadi Anda perlu mencari tahu di mana instalasi python adalah.
Anda akan mendapatkan symlink, lalu Anda perlu mencari symlink sumbernya.
(ini
../../../
berarti root)Jadi Anda menemukan path python (
/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6
), maka Anda hanya perlu memasukkan ~ / .bashrc sebagai berikut:export PATH="$PATH:/Library/Frameworks/Python.framework/Versions/3.6/bin"
sumber
which python3
output/Cellar/python/3.7.7/bin/python3
yang saya tetapkan ke PATH saya tetapi masih `` pipenv` tidak ditemukan`. Ada ide?Tempat menyimpan paket Python
Sebelum beralih ke perintah yang akan menginstal
pipenv
, perlu dipahami di manapip
menginstal paket Python .Paket situs global adalah tempat Python menginstal paket yang akan tersedia untuk semua pengguna dan semua aplikasi Python di sistem. Anda dapat memeriksa paket situs global dengan perintah
Misalnya, di Linux dengan Python 3.7 biasanya jalurnya adalah
Paket situs pengguna adalah tempat paket pemasangan Python hanya tersedia untuk Anda. Tetapi paket tersebut masih dapat dilihat oleh semua proyek Python yang Anda buat. Anda bisa mendapatkan jalan dengan
Di Linux dengan Python 3.7 jalurnya biasanya
Menggunakan Python 3.x
Di sebagian besar Linux dan Unix lainnya, biasanya Python 2 dan Python 3 diinstal secara berdampingan. Eksekusi Python 3 default hampir selalu
python3
.pip
mungkin tersedia sebagai salah satu dari berikut ini, tergantung pada distribusi Linux AndaLinux
Hindari menggunakan
pip
dengansudo
! Ya, ini adalah cara paling mudah untuk menginstal paket Python dan dapat dieksekusi tersedia di/usr/local/bin/pipenv
, tetapi itu juga berarti bahwa paket tertentu selalu terlihat untuk semua pengguna, dan semua proyek Python yang Anda buat. Sebagai gantinya, gunakan paket situs per pengguna sebagai gantinya dengan--user
pipenv
tersedia dimacOS
Di macOS, Homebrew adalah cara yang disarankan untuk menginstal Python . Anda dapat dengan mudah memutakhirkan Python, menginstal beberapa versi Python, dan beralih antar versi menggunakan Homebrew.
Jika Anda menggunakan Homebrew'ed Python,
pip install --user
dinonaktifkan. Paket situs global terletak didan Anda dapat menginstal paket Python dengan aman di sini. Python 3.y juga mencari modul di:
Windows
Untuk alasan lama, Python diinstal di
C:\Python37
. Eksekusi Python biasanya dinamaipy.exe
, dan Anda dapat menjalankannyapip
denganpy -m pip
.Paket situs global diinstal di
Karena Anda biasanya tidak berbagi perangkat Windows, Anda juga boleh menginstal paket secara global
pipenv
sekarang tersedia diSaya tidak merekomendasikan menginstal paket Python di Windows dengan
--user
, karena direktori paket situs pengguna default ada di profil roaming Windows AndaProfil roaming digunakan di Terminal Services (Remote Desktop, Citrix, dll) dan saat Anda log on / off di lingkungan perusahaan. Login lambat, logoff, dan reboot di Windows dapat disebabkan oleh profil roaming yang besar.
sumber
Menginstal pipenv secara global dapat berdampak buruk dengan menimpa instalasi pip yang dikelola global / sistem, sehingga mengakibatkan kesalahan impor saat mencoba menjalankan pip.
Anda dapat menginstal pipenv di tingkat pengguna:
pip install --user pipenv
Ini harus menginstal pipenv pada tingkat pengguna di /home/username/.local sehingga tidak konflik dengan pip versi global. Dalam kasus saya, itu masih tidak berfungsi setelah menjalankan sakelar '--user', jadi saya menjalankan perintah 'perbaiki apa yang saya buat kacau' sekali untuk memulihkan lingkungan yang dikelola sistem:
sudo python3 -m pip uninstall pip && sudo apt install python3-pip --reinstall
^ ditemukan di sini: Kesalahan setelah meningkatkan pip: tidak dapat mengimpor nama 'main'
lalu lakukan hal berikut:
mkdir /home/username/.local
... jika belum adaexport PYTHONUSERBASE=/home/username/.local
Pastikan ekspor berlaku (gigit saya sekali selama proses ini):
echo $PYTHONUSERBASE
Kemudian, saya menjalankannya
pip install --user pipenv
dan semuanya baik-baik saja. Saya kemudian dapat menjalankan pipenv dari CLI dan itu tidak menimpa modul pip yang dikelola global / sistem. Tentu saja, ini khusus untuk pengguna sehingga Anda ingin memastikan Anda menginstal pipenv dengan cara ini saat bekerja sebagai pengguna yang ingin Anda gunakan pipenv.Referensi:
https://pipenv.readthedocs.io/en/latest/diagnose/#no-module-named-module-name https://pipenv.readthedocs.io/en/latest/install/#pragmatic-installation-of-pipenv https://pip.pypa.io/en/stable/user_guide/#user-installs
sumber
Ini diperbaiki bagi saya untuk:
sumber
Setelah menginstal pipenv (
sudo pip install pipenv
), saya terus mendapatkan error "Command Not Found" saat mencoba menjalankanpipenv shell
perintah.Saya akhirnya memperbaikinya dengan kode berikut:
sumber
Anda dapat mempertimbangkan untuk menginstal
pipenv
melaluipipsi
.Sayangnya, ada beberapa masalah dengan macOS + python3 pada saat penulisan, lihat 1 , 2 . Dalam kasus saya, saya harus mengubah bashprompt menjadi
#!/Users/einselbst/.local/venvs/pipsi/bin/python
sumber
Dalam beberapa kasus
pip
versi lama :sumber
Untuk pengguna jendela ini mungkin karena instalasi yang bertentangan dengan virtualenv. Bagi saya itu berhasil ketika saya menghapus virtualenv dan pipenv terlebih dahulu, dan kemudian hanya menginstal pipenv.
Sekarang
pipenv install xxx
bekerja untuk sayasumber
Di Mac OS X Catalina, tampaknya mengikuti jalur Linux. Menggunakan salah satu dari:
Pada dasarnya menginstal pipenv di sini:
Tapi itu bukan yang dapat dieksekusi dan karenanya tidak pernah ditemukan. Satu-satunya hal yang berhasil bagi saya adalah
Tampaknya ini menghasilkan
__init__.py
file di direktori di atas yang memiliki konten untuk mengekspospipenv
perintah dengan benar .dan semuanya mulai bekerja, ketika semua saran yang diposting dan dikomentari tentang pertanyaan ini gagal.
Paket pipenv tampaknya cukup pilih-pilih.
sumber