Saya memiliki ini di ~/.profile
:
export PYTHONPATH=/home/dev/python-files
Dalam python-files
direktori, saya punya beberapa proyek yang diklon dari git-hub (flask, curveship dan py-vgdl).
Setiap kali saya mencoba memulai salah satu contoh dalam proyek ini, saya mendapatkan kesalahan yang serupa dengan yang berikut:
$ python ~/python-files/py-vgdl/examples/gridphysics/frogs.py
Traceback (most recent call last):
File "/home/dev/python-files/py-vgdl/examples/gridphysics/frogs.py", line 67, in <module>
from vgdl.core import VGDLParser
ImportError: No module named vgdl.core
Sepertinya saya tidak seharusnya mendapatkan kesalahan ini karena saya telah PYTHONPATH
mengatur variabel lingkungan?
Menjalankan interpreter interaktif python:
>>> import os
>>> os.environ["PYTHONPATH"]
'/home/dev/python-files'
sumber
Anda juga dapat melakukan hal berikut:
export PYTHONPATH=$(pwd) **or** export PYTHONPATH=${PWD}
pwd adalah direktori kerja saat ini.
sumber
export PYTHONPATH=$PYTHONPATH:$(pwd)
PYTHONPATH
harus menunjuk ke tempat paket dan modul Python Anda, bukan di mana checkout Anda berada. Dengan kata lain, jika Anda melakukannya,ls "$PYTHONPATH"
Anda akan melihat*.py
file ( modul Python ) dan direktori yang berisi__init__.py
file ( paket Python ).Jadi, jika Anda ingin bisa
import vgdl
, AndaPYTHONPATH
harus terlihat seperti ini:karena
vgdl
paketnya ada di dalampy-vgdl
, bukan di dalampython-files
.Untuk menambahkan jalur lain juga, Anda dapat menggunakannya
:
untuk memisahkannya:Ini memang akan berhasil, bagaimanapun, untuk kasus seperti itu, menggunakan
PYTHONPATH
mungkin terlalu rumit. Yang saya rekomendasikan adalah menggunakanvirtualenv
, yang dibuat dengan sengaja untuk menyederhanakan situasi seperti milik Anda. Yang harus Anda lakukan pada dasarnya adalah:virtualenv env
source env/bin/activate
pip
atausetup.py
skrip paket Anda.Saya tidak memberikan banyak informasi karena virtualenv terdokumentasi dengan baik dan jika Anda memerlukan bantuan dengan sesuatu, Anda sebaiknya membuka pertanyaan baru.
sumber