我已经写了一份我希望发布的软件包的开头,但我遇到了问题。当我将sample_test.py
放在主目录中时,脚本运行得很好。当我尝试创建分发并从任何地方运行sample_test.py
时,它都无法运行:ImportError: No module named 'script_functions'
。
要安装,我正在运行python setup.py sdist
,然后python setup.py install
。这两个都执行没有错误。另外,要避免污染'我的核心python环境,我正在创建一个新的虚拟环境并安装到它。
moog_visa.py
和moog_daqmx.py
文件包含script_functions.py
使用的类。 hw_test_runner.py
和script_functions.py
包含我希望在我的python环境中提供的简单函数。我不确定这是否相关......
目录结构:
\hw_test_runner
\examples
\sample_test.py
\hw_test_runner
\__init__.py
\hw_test_runner.py
\moog_daqmx.py
\moog_visa.py
\script_functions.py
\setup.py
我的设置脚本包含:
from setuptools import setup
setup(name='hw_test_runner',
version='0.12',
description='Scriptable hardware test suite',
author='me',
author_email='xxx@XXX',
url='https://my_url.com',
packages=['hw_test_runner'],
install_requires=['numpy', 'pyvisa', 'PyDAQmx']
)
和init.py:
from hw_test_runner.script_functions import *
from hw_test_runner.hw_test_runner import *
在hw_test_runner.py
:
from hw_test_runner.script_functions import *
<... more code below ... >
在`script_functions.py:
中from hw_test_runner import moog_visa
from hw_test_runner import moog_daqmx
<... more code below ... >
我在import
文件中尝试了__init__.py
语句的各种版本,但没有任何工作。我怀疑在某个地方有一条线路,我只是没有经验可以轻易发现。
在命令行上玩了一下之后,我还没有发现问题,但我相信问题可能在于PyCharm。我可以在命令行上执行sample_test.py
但不能在PyCharm中执行。 PyCharm设置为使用适当的虚拟环境,但显然还有其他缺失。