Hangi dosyayı ve nasıl düzenlerim? Sanal bir ortam oluşturdum.
virtualenvwrapper
komuttur. Parçası değil virtualenv
.
Hangi dosyayı ve nasıl düzenlerim? Sanal bir ortam oluşturdum.
virtualenvwrapper
komuttur. Parçası değil virtualenv
.
Yanıtlar:
DÜZENLE # 2
Doğru cevap @ arogachev'in cevabıdır .
PYTHONPATH
Bir virtualenv'de kullanılanı değiştirmek isterseniz , virtualenv'inizin bin/activate
dosyasına aşağıdaki satırı ekleyebilirsiniz :
export PYTHONPATH="/the/path/you/want"
Bu şekilde, PYTHONPATH
bu virtualenv'i her kullanışınızda yeni ayarlanacaktır.
DÜZENLEME: (@ RamRachum'un yorumunu yanıtlamak için)
Orijinal değerine geri döndürmek için deactivate
şunları ekleyebilirsiniz:
export OLD_PYTHONPATH="$PYTHONPATH"
daha önce bahsedilen satırdan önce ve aşağıdaki satırı bin/postdeactivate
betiğinize ekleyin .
export PYTHONPATH="$OLD_PYTHONPATH"
deactivate
mı?
PYTHONPATH
virtualenv yerel yolu yerine varsayılana (global olana) sahip olduğu anlamına mı geliyor?
@ S29 tarafından yapılan yorum bir cevap olmalıdır:
Sanal ortama bir dizin eklemenin bir yolu, virtualenvwrapper'ı (birçok şey için kullanışlıdır) yüklemek ve sonra yapmaktır.
mkvirtualenv myenv
workon myenv
add2virtualenv . #for current directory
add2virtualenv ~/my/path
Bu yolu kaldırmak istiyorsanız dosyayı düzenleyin myenvhomedir/lib/python2.7/site-packages/_virtualenv_path_extensions.pth
Virtualenvwrapper ile ilgili belgeler http://virtualenvwrapper.readthedocs.org/en/latest/ adresinde bulunabilir.
Bu özellikle ilgili belirli belgeler http://virtualenvwrapper.readthedocs.org/en/latest/command_ref.html?highlight=add2virtualenv adresinde bulunabilir.
add2virtualenv -d
.pth
Aranacak dizini içeren bir dosya oluşturabilir ve site-packages
dizine yerleştirebilirsiniz. Örneğin:
cd $(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")
echo /some/library/path > some-library.pth
Etki ekleyerek aynıdır /some/library/path
için sys.path
ve yerel kalır virtualenv
kurulum.
$VIRTUALENV_ROOT/lib/pythonX.Y/site-packages
. .Pth
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
yazdım : Sonra virtualenv'imi devre dışı bıraktım ve yeniden etkinleştirdim. Artık proje dizinimin nerede olduğunu bilmeyi gerektiren proje kodunu çalıştırabilirim.
/bin/activate
) değiştirmek bir yanlış uygulamadır ve üçüncü taraf araçların yüklenmesi, aynısını elde etmek için yerleşik bir yol kullanmaktan daha düşüktür.
cd venv
source bin/activate
export PYTHONPATH='/home/django/srmvenv/lib/python3.4'
python
\>\> import sys
\>\> sys.path
Etkinleştirme betiğimi .virtualenvrc
, geçerli dizinde varsa dosyanın kaynağı ve PYTHONPATH
etkinleştirmede / devre dışı bırakıldığında kaydetme / geri yükleme için değiştirdim.
Yamalı activate
komut dosyasını burada bulabilirsiniz . . Virtualenv 1.11.6 tarafından oluşturulan etkinleştirme komut dosyasının yerine geçilir.
Sonra şuna benzer bir şey ekledim .virtualenvrc
:
export PYTHONPATH="${PYTHONPATH:+$PYTHONPATH:}/some/library/path"
Burada zaten cevaplandı -> Sanal ortamım (python) PYTHONPATH'ımın bozulmasına neden oluyor mu?
Bunu ~ / .bashrc dosyasına "export PYTHONPATH = / usr / local / lib / python2.0" ekleyin ve "kaynak ~ / .bashrc" VEYA ". ~ / .Bashrc" yazarak kaynak oluşturun.
1) Kontrol paneline gidin 2) Sistem'e çift tıklayın 3) Gelişmiş sekmesine gidin 4) Ortam Değişkenleri'ne tıklayın
Sistem Değişkenleri penceresinde, PYTHONPATH adında bir değişkeniniz olup olmadığını kontrol edin. Zaten bir tane varsa, doğru dizinleri gösterdiğini kontrol edin. Henüz bir hesabınız yoksa, Yeni düğmesini tıklayın ve oluşturun.
Alternatif olarak, kodunuzun altında da yapabilirsiniz: -
import sys
sys.path.append("/home/me/mypy")