1
我剛剛創建了一個Python軟件包並將其上載到PyPi(goosempl)。在本地安裝包裝工程:pip嘗試在錯誤的位置安裝軟件包
$ python3 setup.py install
(它安裝在usr/local/lib/python3.6/site-packages
)。
但是一封來自PyPI安裝它給出了一個奇怪的錯誤:
$ pip3 install goosempl
...
PermissionError: [Errno 13] Permission denied: '/usr/local/goosempl'
出於某種原因,PIP試圖在錯誤的位置安裝?!?
這裏是setup.py
(剝離下來了一點,但仍然導致錯誤):
import atexit
from setuptools import setup
__version__ = '0.1.0'
setup(
name = 'goosempl',
version = __version__,
author = 'Tom de Geus',
author_email = '[email protected]',
url = 'https://github.com/tdegeus/GooseMPL',
keywords = 'matplotlib style',
description = 'Style and extension functions for matplotlib',
long_description = '',
license = 'MIT',
install_requires = ['matplotlib>=2.0.0'],
packages = ['goosempl'],
data_files = [('goosempl/stylelib',[
'goosempl/stylelib/goose.mplstyle'
])],
)
我把它上傳到PyPI中使用:
$ python3 setup.py sdist
$ python3 setup.py bdist_wheel --universal
$ twine upload dist/*
(我的猜測問題是由data_files
引起的)
你在virtualenv裏面嗎? –
@NilsWerner不,我不是。 (此外,我在Mac上使用自制Python) –
這可能是'data_files'是罪魁禍首,('goosempl/stylelib'沒有擴展到'/usr/local/lib/python3.6/site -packages/goosempl/stylelib',但是'/ usr/lib/goosempl/stylelib')。嘗試刪除這些行,而是創建一個'MANIFEST.in'文件,其中只包含'goosempl/stylelib/goose.mplstyle'這一行。 –