File apa yang saya edit, dan bagaimana caranya? Saya menciptakan lingkungan virtual.
virtualenvwrapper
perintah. Ini bukan bagian dari virtualenv
.
File apa yang saya edit, dan bagaimana caranya? Saya menciptakan lingkungan virtual.
virtualenvwrapper
perintah. Ini bukan bagian dari virtualenv
.
Jawaban:
EDIT # 2
Jawaban yang benar adalah jawaban @ arogachev .
Jika Anda ingin mengubah yang PYTHONPATH
digunakan di virtualenv, Anda dapat menambahkan baris berikut ke bin/activate
file virtualenv Anda :
export PYTHONPATH="/the/path/you/want"
Dengan cara ini, yang baru PYTHONPATH
akan disetel setiap kali Anda menggunakan virtualenv ini.
EDIT: (untuk menjawab komentar @ RamRachum)
Untuk mengembalikannya ke nilai aslinya deactivate
, Anda dapat menambahkan
export OLD_PYTHONPATH="$PYTHONPATH"
sebelum baris yang disebutkan sebelumnya, dan tambahkan baris berikut ke bin/postdeactivate
skrip Anda .
export PYTHONPATH="$OLD_PYTHONPATH"
deactivate
?
PYTHONPATH
(global) dan bukan jalur lokal virtualenv?
Komentar oleh @ s29 harus menjadi jawaban:
Salah satu cara untuk menambahkan direktori ke lingkungan virtual adalah dengan menginstal virtualenvwrapper (yang berguna untuk banyak hal) dan kemudian lakukan
mkvirtualenv myenv
workon myenv
add2virtualenv . #for current directory
add2virtualenv ~/my/path
Jika Anda ingin menghapus jalur ini, edit file myenvhomedir/lib/python2.7/site-packages/_virtualenv_path_extensions.pth
Dokumentasi tentang virtualenvwrapper dapat ditemukan di http://virtualenvwrapper.readthedocs.org/en/latest/
Dokumentasi khusus tentang fitur ini dapat ditemukan di http://virtualenvwrapper.readthedocs.org/en/latest/command_ref.html?highlight=add2virtualenv
add2virtualenv -d
Anda dapat membuat .pth
file yang berisi direktori yang akan dicari, dan meletakkannya di site-packages
direktori. Misalnya:
cd $(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")
echo /some/library/path > some-library.pth
Efeknya sama dengan menambahkan /some/library/path
ke sys.path
, dan tetap lokal untuk virtualenv
penyiapan.
$VIRTUALENV_ROOT/lib/pythonX.Y/site-packages
. Docs on .pth files: docs.python.org/3.6/library/site.html
pushd "$(venv/bin/python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")" ...path/to/project/venv/lib/python3.7/site-packages ...path/to/project echo ../../../../src > my_project.pth popd
Kemudian saya menonaktifkan virtualenv saya, dan mengaktifkan kembali. Sekarang saya dapat menjalankan kode proyek yang memerlukan mengetahui di mana direktori proyek saya berada.
/bin/activate
) adalah malapraktik dan menginstal alat pihak ketiga lebih rendah daripada menggunakan cara bawaan untuk mencapai hal yang sama.
cd venv
source bin/activate
export PYTHONPATH='/home/django/srmvenv/lib/python3.4'
python
\>\> import sys
\>\> sys.path
Saya memodifikasi skrip pengaktifan saya ke sumber file .virtualenvrc
, jika ada di direktori saat ini, dan untuk menyimpan / memulihkan PYTHONPATH
saat mengaktifkan / menonaktifkan.
Anda dapat menemukan activate
skrip yang ditambal di sini. . Ini adalah pengganti drop-in untuk skrip pengaktifan yang dibuat oleh virtualenv 1.11.6.
Lalu saya menambahkan sesuatu seperti ini ke saya .virtualenvrc
:
export PYTHONPATH="${PYTHONPATH:+$PYTHONPATH:}/some/library/path"
Ini sudah dijawab di sini -> Apakah lingkungan virtual saya (python) menyebabkan PYTHONPATH saya rusak?
Tambahkan "ekspor PYTHONPATH = / usr / local / lib / python2.0" ini ke file ~ / .bashrc dan sumber dengan mengetik "source ~ / .bashrc" OR ". ~ / .Bashrc".
1) Buka panel Kontrol 2) Klik dua kali Sistem 3) Buka tab Lanjutan 4) Klik Variabel Lingkungan
Di jendela Variabel Sistem, periksa apakah Anda memiliki variabel bernama PYTHONPATH. Jika Anda sudah memilikinya, periksa apakah itu mengarah ke direktori yang benar. Jika Anda belum memilikinya, klik tombol New dan buatlah.
Atau, Anda juga dapat melakukan di bawah kode Anda: -
import sys
sys.path.append("/home/me/mypy")