2015-11-22 62 views
2

我想讓我自己的點子包安裝工作,並且我有在package_data中指定的其他數據中的子文件夾的麻煩。一切似乎都沒有問題(所有數據都包含在生成的.zip文件中),但是當我運行「pip install myapp」時,它會顯示:「error:can not copy'myapp \ web \ styles':does not exist or不是普通文件」Python setuptools package_data - 在子文件夾上點子失敗

Dirtree:

projectDir 
    setup.py 
    myapp 
    __init__.py 
    webapp.py 
    web 
     index.html 
     styles 
     style.css 

setup.py:

from setuptools import setup 
    setup (
     zip_safe = False, 
     name = "myapp", 
     version = "0.1", 
     packages = ["myapp"], 
     include_package_data = True, 
     package_data = { 
      "myapp": ["web/*", "web/styles/*"] 
     } 
    ) 

命令創建的軟件包:

python setup.py sdist 

命令來安裝:

pip install myapp-0.1.zip 

我甚至嘗試指定MANIFEST.in(沒有成功):

include myapp/web/*.* 
include myapp/web/styles/*.* 

當我withou package_data,安裝成功僅指定MANIFEST.in,但也有site-packages/myapp/web中沒有文件,因此沒有複製package_data。

我很絕望,因爲我沒有找到任何暗示我做錯了什麼,我花了很長時間才使它工作。

Thaks的任何意見。

回答

0

好的,所以我有一個解決方案:我只使用了MANIFEST.in並從setup.py中刪除了package_data,並且一切正常。我以爲我曾嘗試過,但我錯了。

相關問題