2017-09-15 188 views
2

我是python3的新手,我想創建一個可從其他python腳本導入的軟件包。將python軟件包安裝到sys.path

所以我創造了我的包,我跑

python3 setup.py sdist

創建我的壓縮包。

當我把它移動到另一個目錄來解壓,然後用

python3 setup.py install -user --prefix=

它的罰款沒有任何錯誤安裝的軟件包,它在Python的我的網站,包安裝,當我運行python3我可以導入我的庫並調用它的函數。

但是,當我想在腳本導入這個包就告訴我

ImportError: No module named test_package.pck1.addition

我知道,我可以添加

import sys 
sys.path.append('./test_package.0.1') 

修復它,但我想避免這種情況,因爲它會意味着當試圖在另一個腳本中使用它時,總是需要修改程序包的路徑。

那麼如何在不修改sys.path的情況下導入我的軟件包。或者我該如何安裝我的軟件包,以便我的腳本不需要它。

我嘗試了很多安裝過程(使用pip3,嘗試不同的選項等),沒有任何工作,因爲我期望它。

+1

您是如何創建軟件包的?我想學習它。你能分享一些資源和這個包主題的例子 – babygame0ver

+0

這主要是一個測試,所以它沒有什麼真正的創意我主要遵循教程,並試圖使它自己在這裏是我遵循的教程:[鏈接](https:// python-packaging .readthedocs.io/en/latest/minimal.html) –

+0

雅我需要教程,如果你有任何,然後請與我分享。視頻將不勝感激 – babygame0ver

回答

0

您創建了python包「toto.py」。你想要在Python腳本'tata.py'中導入它。您在tata腳本中編寫'import toto',並將文件'toto.py'放入PYTHONPATH環境變量中包含的目錄中。

雖然我不使用python 2,但在我看來,它是相同的python 2和3.因此,我不知道我明白了這個問題。

+0

是的,我明白,但問題是,我希望它在軟件包安裝完成,因爲如果我把我的軟件包給別人我不希望該人員必須將該包放入特定目錄中。我不明白的是,當我啓動python3時,我可以導入我的包並使用它,但是在一個腳本中,它告訴我可以完成導入,除非添加'sys.path.append('我的包的路徑「)' –