我有一個包,我想從我自己的Python腳本中自動安裝和使用。使用setup.py安裝後導入python包,而不重新啓動?
現在我有這樣的:
>>> # ... code for downloading and un-targzing
>>> from subprocess import call
>>> call(['python', 'setup.py', 'install'])
>>> from <package> import <name>
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named <package>
然後我可以繼續這樣的:
>>> exit()
$ python
>>> from <package> import <name>
,它工作得很好。出於某種原因,如果我在運行setup.py
文件後重新啓動,Python可以很好地拿起軟件包,但如果我不這樣做,則無法啓動。我怎樣才能使它的工作沒有在中間重啓步驟? (還有,在Python腳本中使用subprocess.call()
來運行setup.py
有更好的選擇嗎?看起來愚蠢的是從一箇中產生了一個全新的Python解釋器,但我不知道如何通過該安裝參數。 )
您使用的環境呢? – postelrich
@riotburn - 不知道你在說什麼,所以我猜不是?我通常使用'pip'來安裝所有東西,僅僅因爲某種原因,我需要的一個SDK不能通過PyPI來使用 - 相反,公司會讓你從他們的網站下載一個.tar.gz文件,並告訴你在裏面運行'setup.py'。 – ArtOfWarfare