поэтому я создал пакет, содержащий один файл python, который во время установки отправляется в Python36 \ Scripts.Но на WinOS у меня есть 3 глобальных интерпретатора Python.
Main - это python2.7, второй - python3.6, а третий - python3.7.
Пакет 'my_package' установлен в python3.6 в C: \ Python36 \ Lib \ site-packages \ my_package и содержит файл python settings.py
Скрипт 'my_script.py'также устанавливается в python3.6 в C: \ Python36 \ Scripts \ my_script.py
Так что теперь, когда вы знаете, в чем заключается проблема, когда я пишу в cmd my_script.py, он будет запускаться через python2.7 будет сгенерировано исключение, потому что оно не является дружественным для python2.7.
В UNIX это будет легко решено с помощью строки shebang.Как вызвать my_script.py с интерпретатором python3.6.
Прежде чем ответить, я попробовал:
структура пакета:
- my_package
- my_package
- сценариев
- setup.py
setup.py
from setuptools import setup
with open("README.md", "r") as fh:
long_description = fh.read()
setup(name='my_package',
version='0.1.4',
description='Work in progress',
long_description=long_description,
long_description_content_type="text/markdown",
author=',
author_email='',
packages=['my_package'],
zip_safe=False,
install_requires=['SQLAlchemy', 'pandas'],
scripts=['scripts/my_script.py']
)
my_script.py
from distutils.sysconfig import get_python_lib
sys.stdout.write(get_python_lib())
sys.path.insert(0, get_python_lib())
from my_package.settings import *