I am trying to upload a pypi package, first i found out that setup_tools was really old, so that is now updated, though i still get the same error, and google is not really helping me much on this subject.
python setup.py sdist upload -r pypitest
/usr/lib64/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'include_package_data'
warnings.warn(msg)
/usr/lib64/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'zip_safe'
warnings.warn(msg)
/usr/lib64/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'install_requires'
warnings.warn(msg)
running sdist
running check
warning: sdist: manifest template 'MANIFEST.in' does not exist (using default file list)
warning: sdist: standard file not found: should have one of README, README.txt
writing manifest file 'MANIFEST'
creating arcsightrest-1.0
making hard links in arcsightrest-1.0...
hard linking arcsightrest.py -> arcsightrest-1.0
hard linking setup.cfg -> arcsightrest-1.0
hard linking setup.py -> arcsightrest-1.0
Creating tar archive
removing 'arcsightrest-1.0' (and everything under it)
running upload
Traceback (most recent call last):
File "setup.py", line 20, in <module>
'python-dateutil',
File "/usr/lib64/python2.7/distutils/core.py", line 152, in setup
dist.run_commands()
File "/usr/lib64/python2.7/distutils/dist.py", line 953, in run_commands
self.run_command(cmd)
File "/usr/lib64/python2.7/distutils/dist.py", line 972, in run_command
cmd_obj.run()
File "/usr/lib64/python2.7/distutils/command/upload.py", line 60, in run
self.upload_file(command, pyversion, filename)
File "/usr/lib64/python2.7/distutils/command/upload.py", line 70, in upload_file
raise AssertionError("unsupported schema " + schema)
AssertionError: unsupported schema
If i try to run register it works just fine:
python setup.py register -r test
/usr/lib64/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'include_package_data'
warnings.warn(msg)
/usr/lib64/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'zip_safe'
warnings.warn(msg)
/usr/lib64/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'install_requires'
warnings.warn(msg)
running register
running check
Registering arcsightrest to https://testpypi.python.org/pypi
Server response (200): OK
Anyone had this problem before?
.pypirc file is also available, and works just fine with register.
[distutils]
index-servers =
pypi
test
[pypi]
repository: https://pypi.python.org/pypi
username: ****
password: ****
[test]
repository: https://testpypi.python.org/pypi
username: ****
password: ****
Setup.py file (UPDATED with the import mentioned in the answer):
from setuptools import setup
setup(
name='arcsightrest',
version='1.0',
description='Python library to connect to the HP Arcsight Logger REST API',
author='***',
license='MIT',
author_email='***',
url='****',
download_url='****',
keywords=['arcsight', 'logger', 'rest'],
include_package_data=True,
zip_safe=True,
py_modules=['arcsightrest'],
install_requires=[
'pytz',
'untangle',
'requests',
'python-dateutil',
],
)
UPDATE: Trying to change the setup.py got me a bit closer, for some reason it asks for my password now, but the end result is still the same error:
python setup.py sdist upload -r pypitest
running sdist
running egg_info
writing requirements to arcsightrest.egg-info/requires.txt
writing arcsightrest.egg-info/PKG-INFO
writing top-level names to arcsightrest.egg-info/top_level.txt
writing dependency_links to arcsightrest.egg-info/dependency_links.txt
reading manifest file 'arcsightrest.egg-info/SOURCES.txt'
writing manifest file 'arcsightrest.egg-info/SOURCES.txt'
warning: sdist: standard file not found: should have one of README, README.rst, README.txt
running check
creating arcsightrest-1.0
creating arcsightrest-1.0/arcsightrest.egg-info
copying files to arcsightrest-1.0...
copying arcsightrest.py -> arcsightrest-1.0
copying setup.cfg -> arcsightrest-1.0
copying setup.py -> arcsightrest-1.0
copying arcsightrest.egg-info/PKG-INFO -> arcsightrest-1.0/arcsightrest.egg-info
copying arcsightrest.egg-info/SOURCES.txt -> arcsightrest-1.0/arcsightrest.egg-info
copying arcsightrest.egg-info/dependency_links.txt -> arcsightrest-1.0/arcsightrest.egg-info
copying arcsightrest.egg-info/requires.txt -> arcsightrest-1.0/arcsightrest.egg-info
copying arcsightrest.egg-info/top_level.txt -> arcsightrest-1.0/arcsightrest.egg-info
copying arcsightrest.egg-info/zip-safe -> arcsightrest-1.0/arcsightrest.egg-info
Writing arcsightrest-1.0/setup.cfg
Creating tar archive
removing 'arcsightrest-1.0' (and everything under it)
running upload
Password:
Traceback (most recent call last):
File "setup.py", line 20, in <module>
'python-dateutil',
File "/usr/lib64/python2.7/distutils/core.py", line 152, in setup
dist.run_commands()
File "/usr/lib64/python2.7/distutils/dist.py", line 953, in run_commands
self.run_command(cmd)
File "/usr/lib64/python2.7/distutils/dist.py", line 972, in run_command
cmd_obj.run()
File "/usr/lib64/python2.7/distutils/command/upload.py", line 60, in run
self.upload_file(command, pyversion, filename)
File "/usr/lib64/python2.7/distutils/command/upload.py", line 70, in upload_file
raise AssertionError("unsupported schema " + schema)
AssertionError: unsupported schema
Setuptools version:
setuptools 28.8.0 from /usr/lib/python2.7/site-packages (Python 2.7)
Go to PyPI and create an account. Run twine upload dist/* in the terminal/command line. Enter the account credentials you registered for on the actual PyPI. Then, run pip install [package_name] to install your package.
PyPI has no gatekeepers, and only a limited set of safeguards (i.e., you can't upload a package with a name that's already taken). There's simply nothing stopping a developer from uploading malware since PyPI code isn't audited, independently reviewed, or even scanned in depth.
What's a "yanked" release? A yanked release is a release that is always ignored by an installer, unless it is the only release that matches a version specifier (using either == or === ). See PEP 592 for more information.
The Unsupported schema refers to the URL scheme of the repository URL; it has to be one of http
or https
.
The error happens because -r
takes an URL to the repository, or an exact name that is specified in .pypirc
:
% python setup.py upload --help
...
Options for 'upload' command:
--repository (-r) url of repository [default:
https://upload.pypi.org/legacy/]
Your .pypirc
specifies test
yet you're trying pypitest
.
Some of these options are not recognized by distutils.core.setup
(as evidenced by the UserWarning: Unknown distribution option: ...
); therefore you should use setuptools.setup
instead:
from setuptools import setup
setup(
...
)
(and make sure that setuptools
is up-to-date).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With