我有一个巨大的问题来创建正确的 python 设置脚本。我的文件夹结构如下所示:
my_project/
my_project/
--__init__.py
--file_1.py
--file_2.py
--file_3.py
-AUTHORS
-CHANGELOG
-INSTALL
-LICENSE
-README.rst
-setup.cfg
-setup.py
我创建了一个安装脚本,但它的行为不像我想要的那样。设置脚本:
from ez_setup import use_setuptools
use_setuptools()
import os
import sys
from setuptools import setup, find_packages
readme_file = os.path.join(os.path.dirname(__file__), 'README.rst')
try:
long_description = open(readme_file).read()
except IOError, err:
sys.stderr.write("[ERROR] Cannot find file specified as ""``long_description`` (%s)\n" % readme_file)
sys.exit(1)
setup(
name = 'my_project',
version='0.0.1',
author = 'AUTHOR',
author_email = 'CONTACT',
url = 'http://example.com',
description= 'Some description',
long_description = long_description,
packages = find_packages('my_project'),
package_dir = {'':'my_project'},
package_data = {'':['*.py']},
include_package_data = True,
scripts = [],
requires = [],
license = 'BSD License',
install_requires = [
'some_packages',
],
classifiers = [
'Development Status :: 2 - Pre-Alpha',
'Environment :: Web Environment',
'Intended Audience :: Developers',
'License :: OSI Approved :: BSD License',
'Operating System :: OS Independent',
'Programming Language :: Python',
'Programming Language :: Python :: 2.6',
'Programming Language :: Python :: 2.7',
'Topic :: Database',
'Topic :: Internet',
'Topic :: Software Development :: Libraries :: Python Modules',
],
keywords = 'python, setup, script, the best',
)
在这之后:
sudo python setup.py alias release register sdist bdist_egg upload
sudo python setup.py release
到目前为止,一切都很好,但是当我尝试时:
sudo pip install my_project
我只进入 /usr/local/lib/python2.7/dist-packages/ 一个名为 my_project-0.0.1.egg-info/ 的文件夹,但没有带有init、 file_1、file_2、file_3 python 文件的 my_project 。
我知道 my_project-0.0.1.egg-info/ 是必需的,但我的文件在哪里?
然后我尝试了:
sudo python setup.py install
没有效果,但是这次我得到了一个文件夹my_project-0.0.1-py2.7.egg。
我想进入 /usr/local/lib/python2.7/dist-packages/ 两个目录:
- my_project-0.0.1.egg-info/
- my_project with my files
我的问题:
- 我究竟做错了什么?
- 我该如何解决?
- 也许当我尝试使用 distutils 而不是 setuptools 它可以帮助我?