2016-01-11 78 views
0

我一直在使用setup.py來處理軟件包,例如gspread,但沒有找到setup.py所做的更多細節。當我在我的電腦上安裝默認的Python時,情況會很好。使用setup.py「Vendorize」

現在我想在GAE項目中使用gspread。它需要「vendorizing」,就像安裝到我的應用程序目錄中的lib文件夾中。我如何使用setup.py來指定?

我嘗試使用home scheme就跑:

c:\Python27\python setup.py install --home="D:\Documents\Google Cloud\myapp" 

但它說:

running install 
Checking .pth file support in D:\Documents\Google Cloud\myapp\lib\python\ 
c:\Python27\pythonw.exe -E -c pass 
TEST FAILED: D:\Documents\Google Cloud\myapp\lib\python\ does NOT support .pth files 
error: bad install directory or PYTHONPATH 

You are attempting to install a package to a directory that is not 
on PYTHONPATH and which Python does not read ".pth" files from. The 
installation directory you specified (via --install-dir, --prefix, or 
the distutils default setting) was: 

    D:\Documents\Google Cloud\myapp\lib\python\ 

and your PYTHONPATH environment variable currently contains: 

    '' 

回答

0

你可以嘗試添加D:\Documents\Google Cloud\myappPYTHONPATH環境變量。在Windows中,您可以使用Control Panel -> System and Security -> System -> Advanced System Settings -> Environmental Variables,然後編輯PYTHONPATH系統變量。路徑由分號分隔,因此只需將其添加到末尾即C:\Python27\Lib;C:\Python27\DLLs;"D:\Documents\Google Cloud\myapp"

+0

我把這個添加到PYTHONPATH參數中,但它不會安裝。如果我指定了'D:\ Documents \ Google Cloud \ myapp \ lib \ python',它會安裝而不會出錯。所有添加的內容似乎都在... myapp \ lib \ python中。但是,當我嘗試導入我的代碼時,它說'ImportError:No module named gspread'。 –

+0

當然,當你在非標準的位置安裝它時,你需要添加一個python的新位置來檢查模塊。這是[sys.path](https://docs.python.org/2/library/sys.html#sys.path)的用途,所以只需將'sys.path.append(「D:\ Documents \ Google Cloud \ myapp \ lib \ python「)'然後嘗試'import gspread'。請記住,這隻會在當前腳本的本地。 – vesche