python打包和github使用总结

python打包和github使用总结,第1张

python 上传包到pypi上

参考https://blog.csdn.net/jinjiangongzuoshi/article/details/110137116?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_title~default-0-110137116-blog-106835953.pc_relevant_antiscanv2&spm=1001.2101.3001.4242.1&utm_relevant_index=3

准备好博客里提供的文件夹和文件内容,需要补充的一点是__init__.py是一定需要的,里面可以仅包含版本号,下面是我的文件夹的结构和内容
下面是每个文件的内容

setup.py内容如下:

from distutils.core import setup
from setuptools import find_packages

with open("README.rst", "r") as f:
  long_description = f.read()

setup(name='package_yyxxkk_talk',  # 包名
      version='1.0.0',  # 版本号
      description='A small example package',
      long_description=long_description,
      author='mikezhou_talk',
      author_email='[email protected]',
      url='https://mp.weixin.qq.com/s/9FQ-Tun5FbpBepBAsdY62w',
      install_requires=[],
      license='BSD License',
      packages=find_packages(),
      platforms=["all"],
      classifiers=[
          'Intended Audience :: Developers',
          'Operating System :: OS Independent',
          'Natural Language :: Chinese (Simplified)',
          'Programming Language :: Python',
          'Programming Language :: Python :: 2',
          'Programming Language :: Python :: 2.7',
          'Programming Language :: Python :: 3',
          'Programming Language :: Python :: 3.5',
          'Programming Language :: Python :: 3.6',
          'Programming Language :: Python :: 3.7',
          'Programming Language :: Python :: 3.8',
          'Topic :: Software Development :: Libraries'
      ],
      )

README.rst中内容如下
package_yyxxkk_talk文件夹中有两个文件,
一个是__init__.py文件,其内容如下

__version__ = '1.0.0'

另一个main.py文件,其内容如下

import itertools

case_list = ['用户名', '密码']
value_list = ['正确', '不正确', '特殊符号', '超过最大长度']


def gen_case(item=case_list, value=value_list):
    '''输出笛卡尔用例集合'''
    for i in itertools.product(item, value):
        print('输入'.join(i))

def test_print():
	    print("欢迎搜索关注公众号: 「测试开发技术」!")

if __name__ == '__main__':
    test_print()

这里一个最简单的包就已经创建好了,接下来就是打包变异的过程

首先进入当前项目所在的主目录下(即setup.py所在目录,然后运行一下命令

python setup.py sdist build

运行结果如下
可以看到没有出错,而且你会发现你的文件夹多了三个东西
然后运行

twine upload dist/*

然后根据提示输入pypi的用户名和密码就可以了,最终结果如下
这就代表你从零开始上传了一个在pypi上任何人都可以下载的简单测试包

python相对路径导入的问题

上面只是一个简单的包,不涉及到python各个moudle的导入问题,如果是复杂的包,就涉及到python相对路径的导入
主要看这个博客
https://blog.csdn.net/Cassie_zkq/article/details/118017209
里面讲的很详细
总之一句话,如果你用相对路径实现了你的包,那么要在主目录下使用python -m **.py进行测试,而不是去某个文件的所在目录去测试,这样是不合理的,另外,看
其中.** 就是表示当前路径的某个文件,表示相对路径,…**就是表示上层目录的某个文件,这个用法需要知道,例如采用这种文件结构,只需要使用.**就可以满足基本条件了
同样可以在主目录下进行测试,如果可以成功运行测试文件,那么就说明具有相对路径的包写成功了,发布到pypi上就可以了

github *** 作

我在命令行进行git push就么有成功过,之前是输入

git push

然后要你输入github账号和密码,我输了,但是又提示我github不再支持使用账号和密码了,而是要使用token, 然后我就去网上找网上怎么弄token,第一步就卡住了,所以的人都在说mac上打开钥匙串访问(keychain Access.app)然后修改密码,但是我发现打开钥匙串访问,发现根本就搜不到github.com,就离谱,然后我又去搜为啥钥匙串访问里搜不到github.com,有人的回答是可能你没有登录过github,可是我github一直在登着啊,我实在是绷不住了,没有办法我直接下载了github desktop,发现我安装好后,第一次成功登陆github desktop后,钥匙串访问出现了github.com. 于是我就修改了token到密码上,发现还是没有作用,但是我发现github desktop上可以点击几下就可以push到远程github上,我试了下,但是因为我之前测试token,中间的token已经改了,但是repostionary还是以前的,导致一直验证失败,我是直接心态崩了,这都什么东西,怎么我就搞不出来咧,然后我尝试了重启电脑和卸载重装github desktop,发现这个软件和pycharm一样,你写在不干净,重新安装后,发现打开的还是和以前的设置一样,问题依然存在,我然后尝试重新来一次,我把之前本地git clone下载得到的git给删掉了,
重新下载,然后在github desktop上重新加载,这是github desktop要求我验证,这次我验证成功后,在github desktop中push成功了,我去,简直一步一个坑,不过第一次成功了就好,以后的 *** 作可以慢慢学,就是第一次没成功之前简直是搞人心态,其中的一些 *** 作我目前也没有搞懂,只能以后慢慢的熟悉了

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1295177.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-10
下一篇 2022-06-10

发表评论

登录后才能评论

评论列表(0条)

保存