Perintah Virtualenv Tidak Ditemukan

208

Saya tidak dapat mulai virtualenvbekerja meskipun berbagai upaya. Saya menginstal virtualenvpada MAC OS X menggunakan:

pip install virtualenv

dan juga telah menambahkan PATHke saya .bash_profile. Setiap kali saya mencoba menjalankan virtualenvperintah, ia mengembalikan:

-bash: virtualenv: command not found

Setiap kali saya berlari pip install virtualenv, ia kembali:

Requirement already satisfied (use --upgrade to upgrade): virtualenv in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages

Saya mengerti bahwa di mac, virtualenvharus diinstal dengan benar

/usr/local/bin

The virtualenvmemang dipasang di /usr/local/bin, tapi setiap kali saya mencoba untuk menjalankan virtualenvperintah, perintah tidak ditemukan. Saya juga mencoba menjalankan virtualenvperintah di direktori /usr/local/bin, dan itu memberi saya hasil yang sama:

-bash: virtualenv: command not found

Ini adalah PATH yang saya tambahkan ke .bash_profile saya

export PATH=$PATH:/usr/local/bin
export PATH=$PATH:/usr/local/bin/python
export PATH=$PATH:/Library/Framework/Python.framework/Version/2.7/lib/site-packages

Ada solusi untuk ini? Mengapa demikian?

Arial
sumber
1
Coba tambahkan symlink ke virtualenv yang dapat dieksekusi di / usr / local / bin
Justin Fay
Di mana saya harus membuat symlink? Ini masih tidak berfungsi meskipun saya mencoba untuk menambahkan symlink di direktori di mana saya ingin menggunakan virtualenv @justinfay
Arial
2
dari melihat jalan di atas itu bisa menjadi sesuatu seperti, ganti jalan terakhir dalam perintah dengan jalan ke virtualenv yang sebenarnya dapat dieksekusi:$ ln -s /usr/bin/virtualenv /Library/Framework/Python.framework/Version/2.7/lib/site-packages/virtualenv/virtualenv.py
Justin Fay
2
yang berhasil bagi saya adalah menambahkan symlinkln -s /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/virtualenv.py /usr/local/bin/virtualenv
Aliza
Tidak bekerja di lubuntu
c24b

Jawaban:

337

Jika Anda menginstalnya dengan

pip install virtualenv

Anda harus berlari

sudo /usr/bin/easy_install virtualenv

yang memasukkannya ke dalam /usr/local/bin/ .

Direktori di atas secara default seharusnya ada di Anda PATH; jika tidak, edit .zshrc(atau. bashrc) Anda sesuai.

Tal Avissar
sumber
1
selalu senang membantu @nguns
Tal Avissar
pada contoh AWS EC2 dengan Amazon Linux, jika Anda mencoba Let's Encrypt's certbot, cobalah solusi ini. Ini adalah satu-satunya saran yang memecahkan masalah virtualenv saya.
emrahgunduz
2
Kamu yang terbaik!
leon wu
6
outputnyasudo: /usr/bin/easy_install: command not found
Ced
3
Terima kasih untuk ini - tapi saya berharap saya tahu sihir apa yang sedang bekerja di sini - apa yang "easy_install" lakukan yang tidak dilakukan pip biasa? yaitu Mengapa ini bekerja?
Thomas Kimber
153

Saya menghadapi masalah yang sama dan ini adalah bagaimana saya menyelesaikannya:

  1. Masalah terjadi pada saya karena saya menginstal virtualenv via pip sebagai pengguna biasa (bukan root). pip menginstal paket ke direktori~/.local/lib/pythonX.X/site-packages
  2. Ketika saya menjalankan pip sebagai root atau dengan hak istimewa admin (sudo), itu menginstal paket di /usr/lib/pythonX.X/dist-packages. Jalur ini mungkin berbeda untuk Anda.
  3. perintah virtualenv akan dikenali hanya dalam skenario kedua
  4. Jadi, untuk menyelesaikan masalah, lakukan pip uninstall virtualenvdan instal ulang dengan sudo pip install virtualenv(atau instal sebagai root)
vettipayyan
sumber
8
Saya mengikuti solusi Anda dan mendapat pesan "... Jika menjalankan pip dengan sudo, Anda mungkin menginginkan sudo -H flag". Akhirnya sudo -H pip instal virtualenv melakukan pekerjaan untuk saya (pada OS X), terima kasih
smudo78
1
bagaimana jika root tidak tersedia di mesin Anda?
user5359531
Memecahkan masalah. Saya kira yang ini bisa masuk ke dir global bukan --user.
Masalah ini juga terjadi ketika pip itu sendiri diinstal di ~ / .local / SOME_PATH. Saya cpmengedit semuanya dalam site-packagesdirektori /usr/lib/pythonx.x/site-packages, dan rm -rfmengedit direktori asli.
yoon
47

Jawaban paling sederhana. Hanya:

pip uninstall virtualenv

lalu:

pip install virtualenv

Atau Anda mungkin menginstal virtualenv dengan sudo, dalam hal ini:

pip install --user virtualenv
Luis Martins
sumber
Wow! Inilah yang melakukan trik untuk saya. Saya menggunakan pyenvby the way
race_carr
Ini adalah cara untuk menggunakan Mac OS X menggunakan minuman.
TCSGrad
Sudah berjuang ini selama berminggu-minggu dan telah menghambat waktu saya yang terbatas untuk bekerja pada proyek python dan ini adalah satu-satunya solusi untuk bekerja untuk saya di mac. Terima kasih!
HellaDev
37

Di Ubuntu 18.04 LTS saya juga menghadapi kesalahan yang sama. Perintah berikut berhasil:

sudo apt-get install python-virtualenv
sam
sumber
1
brew install python-virtualenvtidak ada
Leonard
Bekerja seperti pesona pada 18,04 saya, Terima kasih
Nischaya Sharma
Memilih untuk mempromosikan aptsebagai penerus apt-get.
greybeard
24

Saya memiliki masalah yang sama pada Mac OS X El Capitan .

Ketika saya menginstal virtualenvseperti itu sudo pip3 install virtualenvsaya tidak memiliki di virtualenvbawah baris perintah saya.

Saya memecahkan masalah ini dengan mengikuti langkah-langkah ini:

  1. Copot pemasangan instalasi sebelumnya.
  2. Beralih ke akun pengguna super sebelum virtualenvinstalasi dengan meneleponsudo su
  3. Instal virtualenvdengan meneleponpip3 install virtualenv
  4. Akhirnya Anda harus dapat mengakses virtualenvdari keduanya userdan super userakun.
Krystian Sakowski
sumber
15

Cari tahu masalahnya

Coba pasang dengan --verbosebendera

pip install virtualenv --verbose

Output akan terlihat seperti ini

  ..
  Using cached virtualenv-15.1.0-py2.py3-none-any.whl
  Downloading from URL https://pypi.python.org/packages/6f/86/3dc328ee7b1a6419ebfac7896d882fba83c48e3561d22ddddf38294d3e83/virtualenv-15.1.0-py2.py3-none-any.whl#md5=aa7e5b86cc8cdb99794c4b99e8d670f3 (from https://pypi.python.org/simple/virtualenv/)
Installing collected packages: virtualenv

  changing mode of /home/manos/.local/bin/virtualenv to 755
Successfully installed virtualenv-15.1.0
Cleaning up...

Dari output kita dapat melihat bahwa itu diinstal di /home/manos/.local/bin/virtualenvjadi mari kita pastikan PATH memasukkannya.

echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

Dalam kasus saya, kita dapat dengan jelas melihatnya /home/manos/.local/bin itu benar-benar hilang dan itulah sebabnya shell tidak dapat menemukan program.

Solusi

Kita dapat menyelesaikan ini dengan banyak cara:

  1. Kita dapat menginstal langsung ke direktori tertentu dengan mengutak-atik opsi pip (tidak direkomendasikan).
  2. Buat symlink yang sesuai di /usr/local/bin atau serupa.
  3. Menambahkan /home/manos/.local/bin ke PATH.
  4. Instal sebagai sudo untuk menginstal langsung ke /usr/local/bin

Dua opsi terakhir mungkin adalah yang paling masuk akal. Solusi terakhir adalah yang paling sederhana sehingga karena itu saya hanya akan menunjukkan solusi 3.

Tambahkan ini ke ~ / .profile:

PATH="$PATH:$HOME/.local/bin"

Keluar dan masuk lagi dan itu akan berhasil.

Pithikos
sumber
1
Ini bekerja dengan sempurna. Itu harus menjadi jawaban yang diterima dan +1 untuk penjelasan terperinci
David The Programmer
13

python3 -m virtualenv virtualenv_name

python -m virtualenv virtualenv_name

Nikkey
sumber
bekerja untuk saya tanpa 3. python -m virtualenv <name>
ofer.sheffer
11

Dalam kasus saya, saya berlari pip show virtualenvuntuk mendapatkan informasi tentang paket virtualenv. Saya akan terlihat mirip dengan ini dan juga akan menunjukkan lokasi paket:

user@machine:~$ pip show virtualenv
Name: virtualenv
Version: 16.2.0
Summary: Virtual Python Environment builder
Home-page: https://virtualenv.pypa.io/
Author: Ian Bicking
Author-email: ianb@colorstudy.com
License: MIT
Location: /home/user/.local/lib/python3.6/site-packages
Requires: setuptools

Dari yang ambil bagian lokasi hingga .localbagian, yang dalam hal ini adalah /home/user/.local/. Anda dapat menemukan perintah virtualenv di bawah /home/user/.local/bin/virtualenv.

Anda kemudian dapat menjalankan perintah like /home/user/.local/bin/virtualenv newvirtualenv.

Dejv
sumber
10

Saya memiliki masalah yang sama. Saya menggunakan langkah-langkah berikut untuk membuatnya berfungsi

sudo pip uninstall virtualenv

sudo -H pip install virtualenv

Hanya itu saja. Itu mulai bekerja.

Penggunaan sudo -H----> sudo -H: atur HOMEvariabel ke direktori home pengguna target.

Abby
sumber
1
Ini untuk saya memperbaiki masalah yang sama persis ... mengapa tidak diperiksa sebagai solusinya?
manuele
9

Anda mengatakan bahwa setiap kali Anda menjalankan yang pip installAnda dapatkan Requirement already satisfied (use --upgrade to upgrade): virtualenv in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages. Yang perlu Anda lakukan adalah sebagai berikut:

  1. Ubah Direktori (buka ke tempat di mana virtualenv.py) cd /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
  2. Jika Anda melakukan, lsAnda akan melihat bahwa skrip ada di sanavirtualenv.py
  3. Jalankan skrip seperti ini: python virtualenv.py --distribute /the/path/at/which/you/want/the/new/venv/at theNameOfTheNewVirtualEnv

Semoga ini membantu. Saran saya akan lebih banyak meneliti tempat. Berikut adalah sumber yang bagus: https://www.dabapps.com/blog/introduction-to-pip-and-virtualenv-python/

Bouramas
sumber
8

Saya memiliki masalah karena saya menggunakan apt untuk menginstal paket python-virtualenv. Untuk membuatnya berfungsi, saya harus menghapus paket ini apt-get remove python-virtualenvdan menginstalnya pip install virtualenv.

Boris Davidov
sumber
1
Yang meninggalkan pertanyaan: Mengapa iblis paket python3-virtualenv saya rusak?
Dmitri DB
6

Pastikan itu virtualenvdapat dieksekusi.

Jika virtualenvtidak ditemukan, menjalankan path lengkap ( /usr/local/bin/virtualenv) harus berfungsi.

VertigoRay
sumber
5

Saya pikir masalah Anda dapat diselesaikan dengan menggunakan tautan simbolik sederhana , tetapi Anda membuat tautan simbolik ke file yang salah . Sejauh yang saya tahu virtualenv diinstal /Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenv, (Anda dapat mengubah angka untuk versi Python Anda) sehingga perintah untuk membuat tautan simbolik harus:

ln -s /Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenv /usr/local/bin/virtualenv
Bobby Wan-Kenobi
sumber
menyiapkan tautan sym adalah yang harus saya lakukan. Terima kasih.
Kirby
5

Di ubuntu 18.4 pada instalasi AWS dengan pip tidak berfungsi dengan benar. Menggunakan apt-get install, masalah telah diselesaikan untuk saya.

sudo apt-get install python-virtualenv

dan untuk memeriksa

virtualenv --version
Ayo
sumber
4

Masalah yang sama: Jadi saya hanya melakukan pip uninstall virtualenv Lalu pip install virtualenv

pip install virtualenv --user

Mengumpulkan virtualenv Menggunakan https://files.pythonhosted.org/packages/b6/30/96a02b2287098b23b875bc8c2f58071c35d2efe84f747b64d523721dc2b5/virtualenv-16.0.0-py2.pengambilan semua paket virtual: tidak ada lagi yang terpasang: tidak ada lagi yang terpasang

Lalu saya mendapatkan ini:

Virtualenv script diinstal di '/ Pengguna /brahim/Library/Python/2.7/bin' yang tidak ada di PATH. Pertimbangkan untuk menambahkan direktori ini ke PATH atau, jika Anda lebih suka menekan peringatan ini, gunakan --no-warn-script-location.

yang dengan jelas mengatakan di mana ia diinstal dan apa yang harus dilakukan untuk mendapatkannya

brahim
sumber
2

Jika Anda menggunakan Linux, buka terminal Anda dan ketik virtualenv setengah dan lengkapi otomatis dengan kunci tab. Jika tidak ada penyelesaian otomatis instal virtualenv pada sistem Anda dengan menjalankan:

mycomp$sudo apt-get install virtualenv
//if you're already super user.
mycomp#apt-get install virtualenv

Anda sekarang dapat menavigasi ke tempat Anda ingin membuat proyek Anda dan melakukan:

myprj$pip3 install virtualenv    
//to install python 3.5 and above  
myprj$virtualenv venv --python=python3.5  
//to activate virtualenv  
(venv)myprj$source venv/bin/activate  
(venv)myprj$deactivate
7guyo
sumber
Saya memutakhirkan ke python 3.7. Saya terus mencoba menginstal virtualenv, ia akan selalu mengembalikan "Kesalahan: Tidak dapat menemukan versi yang memenuhi persyaratan virtualenv (dari versi: tidak ada)". Saya membaca di suatu tempat bahwa dari versi python 3.x tertentu ia datang dengan virtualenv diinstal, tetapi mencoba untuk membuat lingkungan virtual sederhana, tidak berfungsi, itu akan mengembalikan kesalahan bahwa ia tidak tahu perintah virtualenv. Tapi itu bekerja dengan perintah berikut dari jawaban Anda, "virtualenv venv --python = python3.7". Tidak ada yang dilakukan sebelumnya. Seandainya itu membantu orang lain. Lingkungan MacOS.
CarmenA
1

ini berfungsi di ubuntu 18 ke atas (tidak diuji dalam versi sebelumnya):

sudo apt install python3-virtualenv
CyanBook
sumber
1

Saya memiliki masalah yang sama untuk waktu yang lama. Saya menyelesaikannya dengan menjalankan kedua perintah ini, pertama adalah menginstal kedua adalah mengaktifkan env:

python3 -m pip install virtualenv
python3 -m virtualenv yourenvname

Perhatikan bahwa saya menggunakan python3, Anda dapat mengubahnya hanya pythonjika python3gagal. Terima kasih.

Dev_mjm
sumber
0

Ikuti langkah-langkah dasar ini untuk mengatur env virtual

sudo pip install virtualenv virtualenvwrapper
sudo rm -rf ~/get-pip.py ~/.cache/pip

kita perlu memperbarui ~/.bashrc

export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh

The ~/.bashrcfile hanya shell script yang Bash berjalan setiap kali Anda memulai terminal baru. Anda biasanya menggunakan file ini untuk mengatur berbagai konfigurasi. Dalam hal ini, kami menetapkan variabel lingkungan yang dipanggil WORKON_HOME untuk menunjuk ke direktori tempat lingkungan virtual Python kami tinggal. Kami kemudian memuat konfigurasi yang diperlukan dari virtualenvwrapper.

Untuk memperbarui ~/.bashrcfile Anda cukup gunakan editor teks standar, nano kemungkinan yang paling mudah dioperasikan. Solusi yang lebih sederhana adalah dengan menggunakan perintah cat dan menghindari editor sepenuhnya:

echo -e "\n# virtualenv and virtualenvwrapper" >> ~/.bashrc
echo "export WORKON_HOME=$HOME/.virtualenvs" >> ~/.bashrc
echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.bashrc

Setelah mengedit file ~ / .bashrc kami, kami perlu memuat ulang perubahan:

source ~/.bashrc

Sekarang kita telah menginstal virtualenv dan virtualenvwrapper, langkah selanjutnya adalah benar-benar membuat lingkungan virtual Python - kita melakukan ini menggunakan perintah mkvirtualenv.

mkvirtualenv YOURENV
pengguna8224289
sumber
0

Bagi saya itu diinstal di jalur ini (python 2.7 di MacOS): $ HOME / Library / Python / 2.7 / bin

Ravish Bhagdev
sumber
0

Saya sedang melakukan kursus iOS online Angela Yu dan saya mendapatkan masalah yang sama ditambah juga mendapat izin ditolak kesalahan 13 ketika saya mencoba untuk menjalankan virtualenv --python=/{myPath} {newVirtualEnvName}

Saya menyelesaikannya dengan:

  1. beralih ke pengguna sudo sudo su
  2. menavigasi ke folder tujuan saya (di mana saya ingin env virtual baru saya untuk hidup) yaitu. / Pengguna / muUserName / Lingkungan /
  3. jalankan perintah di python -m virtualenv python27mana python27 adalah nama lingkungan virtual baru saya
  4. folder pathon27 di atas dibuat di folder Environments saya , dan kemudian saya dapat menjalankan source python27/bin/activateuntuk memulai virtualenv saya
marika.daboja
sumber
0

Jawaban sederhana adalah jika Anda bukan pengguna sudo karena saya bukan pengguna sudo. Anda perlu menambahkan path folder bin Anda ( /home/myusername/.local/bin). Jadi pada dasarnya pencarian baris perintah di mana dari path ini adalah perintah yang telah Anda ketik.

export PATH=/home/b18150/.local/bin:/usr/bin:/bin

di sini ia akan mencari local/bindulu lalu /usr/binkemudian /bin.

Karan Doshi
sumber
-3
apt update
apt upgrade
apt install ufw python virtualenv git unzip pv

3 perintah dan semuanya berfungsi!

Art Raptors
sumber
Pertanyaannya adalah untuk mac OS, tidak adaapt
Matteo
-5
sudo apt-get install python-virtualenv
stray.leone
sumber
1
Apakah Anda melihat bahwa dia meminta Mac OSX?
Mariano Kamp