Aşağıdakiler OP'nin problemini çözmez, ancak başlık ve hata tam olarak karşılaştığım şeydir.
Projeniz bir varsa setup.py
o senaryoyu, sen olduklarını paketi yüklendikten ile olabilir python3 -m pip install -e .
veya python3 setup.py install
veya python3 setup.py develop
ve bu paket kurulacak, ancak (paket aktarırken koduna değişiklikler görülecektir böylece) hala düzenlenebilir. Bir yoksa setup.py
, bir anlam .
Her neyse, OP'nin karşılaştığı problem artık yok gibi görünüyor?
dosya one.py
:
def function():
print("output")
dosya two.py
:
import one
one.function()
chmod +x two.py
./two.py
Command line output: output
Diğer çözümler 'kirli' görünüyor
2 test dosyası içeren OP durumunda, bunları çalışmak üzere değiştirmek muhtemelen iyidir. Ancak, diğer gerçek senaryolarda, diğer cevaplarda listelenen yöntemler muhtemelen tavsiye edilmemektedir. Python kodunu değiştirmenizi veya esnekliğinizi kısıtlamanızı (python dosyasını belirli bir dizinden çalıştırmanızı) gerektirir ve genellikle rahatsızlık verir. Ya bir projeyi klonladıysanız ve bu gerçekleşirse? Muhtemelen diğer insanlar için zaten işe yarıyor ve kod değişikliği yapmak gereksiz. Seçilen cevap aynı zamanda kişilerin çalışması için belirli bir klasörden bir komut dosyası çalıştırmasını ister. Bu, asla iyi olmayan uzun vadeli bir rahatsızlık kaynağı olabilir. Ayrıca, belirli python klasörünüzü PATH'e eklemenizi önerir (python veya komut satırı aracılığıyla yapılabilir). Yine, klasörü birkaç ay içinde yeniden adlandırır veya taşırsanız ne olur? Bu sayfayı tekrar araştırmanız gerekiyor, ve sonunda yolu belirlemeniz gerektiğini (ve bunu tam olarak birkaç ay önce yaptığınızı) ve bir yolu güncellemeniz gerektiğini (emin olun sys.path kullanıp programlı olarak ayarlayabileceksiniz, ancak bu yine de belirsiz olabilir ). Pek çok büyük sıkıntı kaynağı.
import sys; sys.path