tôi có một dự án như thế này:file add dữ liệu cho các dự án python setup.py
├── CHANGES.txt
├── LICENSE
├── MANIFEST.in
...
├── docs
│ └── index.rst
├── negar
│ ├── Negar.py
│ ├── Virastar.py
│ ├── Virastar.pyc
│ ├── __init__.py
│ ├── data
│ │ ├── __init__.py
│ │ └── untouchable.dat
│ ├── gui.py
│ ├── gui.pyc
│ ├── i18n
│ │ ├── fa_IR.qm
│ │ └── fa_IR.ts
│ └── negar.pro
├── setup.py
...
và bên trong tập tin của tôi Virastar.py
cần một số dữ liệu từ data.untouchable.dat
. nó hoạt động tốt cho đến khi tôi cài đặt các dự án với setup.py
này:
setup(
...
include_package_data=True,
packages = find_packages() + ['negar'],
package_dir={'negar': 'negar'},
package_data={'negar': ['data/*.dat']},
entry_points={
'console_scripts': [
'negar = negar.Negar:main',
],
},
...
)
sau đó khi tôi bắt đầu chương trình của tôi và khi nó cần dữ liệu tập tin nó trả về lỗi này:
IOError: [Errno 2] No such file or directory: 'data/untochable.dat'
ngay cả trong nguồn egg-info
của tôi Tôi không thể tìm thấy bất kỳ tệp dữ liệu nào:
...
negar/Negar.py
negar/Virastar.py
negar/__init__.py
negar/gui.py
negar/data/__init__.py
tôi có bỏ sót gì ở đây không?
Cảm ơn tất cả.
CHỈNH SỬA: Tôi có phải thêm bất kỳ điều đặc biệt nào vào init .py?
và tôi có để thêm video này: Tôi sử dụng untouchable.dat chỉ như thế này:
f = codecs.open('data/untouchable.dat', encoding="utf-8")
trong python 2.7 họ thay đổi cách thức để bao gồm các tập tin để MANIFEST.in hoặc một cái gì đó - Tôi không chắc chắn và không sử dụng nó nhưng nó có thể là một hướng – zenpoy
Tôi đang ở python 2,6! và vì một số lý do tôi không thể nâng cấp ngay bây giờ! – Shahinism