我正在尝试将控制器与python进行实验接口。目前,这是我要运行的代码
import sys
print('adding location of IOPortClientLib.dll & Newport.CONEXAGP.CommandInterfacedll to sys.path')
sys.path.append(r'C:\Program Files\Newport\Piezo Motion Control\Newport CONEX-AGP Applet\Bin')
import clr
clr.AddReference('Newport.CONEXAGP.CommandInterface.dll')
我得到两个不同的结果:
adding location of IOPortClientLib.dll & Newport.CONEXAGP.CommandInterfacedll to sys.path
Traceback (most recent call last):
File "conex_test.py", line 7, in <module>
clr.AddReference('Newport.CONEXAGP.CommandInterface.dll')
AttributeError: module 'clr' has no attribute 'AddReference'
adding location of IOPortClientLib.dll & Newport.CONEXAGP.CommandInterfacedll to sys.path
Traceback (most recent call last):
File "C:\Users\natal\Box Sync\Downer group (ndf367@eid.utexas.edu)\Sandia\code\python\conex_test.py", line 6, in <module>
import clr
ModuleNotFoundError: No module named 'clr'
当我搜索这些错误时,建议我安装pythonnet
,所以我在Ubuntu中运行了pip3 install pythonnet
,这就是输出
WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip.
Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue.
To avoid this problem you can invoke Python with '-m pip' instead of running pip directly.
Keyring is skipped due to an exception: org.freedesktop.DBus.Error.InvalidFileContent: D-Bus library appears to be incorrectly set up: see the manual page for dbus-uuidgen to correct this issue. (Failed to open "/var/lib/dbus/machine-id": No such file or directory; UUID file '/etc/machine-id' should contain a hex string of length 32, not length 0, with no other text)
Defaulting to user installation because normal site-packages is not writeable
Collecting pythonnet
Using cached pythonnet-2.5.1.tar.gz (1.9 MB)
Requirement already satisfied: pycparser in /mnt/c/Users/natal/Box Sync/.local/lib/python3.6/site-packages (from pythonnet) (2.20)
Building wheels for collected packages: pythonnet
Building wheel for pythonnet (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-nhjsfmmw/pythonnet/setup.py'"'"'; __file__='"'"'/tmp/pip-install-nhjsfmmw/pythonnet/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-s9sulxcz
cwd: /tmp/pip-install-nhjsfmmw/pythonnet/
Complete output (43 lines):
running bdist_wheel
running build
running build_ext
/bin/sh: 1: mono: not found
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-install-nhjsfmmw/pythonnet/setup.py", line 659, in <module>
zip_safe=False,
File "/mnt/c/Users/natal/Box Sync/.local/lib/python3.6/site-packages/setuptools/__init__.py", line 165, in setup
return distutils.core.setup(**attrs)
File "/usr/lib/python3.6/distutils/core.py", line 148, in setup
dist.run_commands()
File "/usr/lib/python3.6/distutils/dist.py", line 955, in run_commands
self.run_command(cmd)
File "/usr/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/tmp/pip-install-nhjsfmmw/pythonnet/setup.py", line 612, in run
return bdist_wheel.bdist_wheel.run(self)
File "/mnt/c/Users/natal/Box Sync/.local/lib/python3.6/site-packages/wheel/bdist_wheel.py", line 223, in run
self.run_command('build')
File "/usr/lib/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/usr/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/usr/lib/python3.6/distutils/command/build.py", line 135, in run
self.run_command(cmd_name)
File "/usr/lib/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/usr/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/usr/lib/python3.6/distutils/command/build_ext.py", line 339, in run
self.build_extensions()
File "/usr/lib/python3.6/distutils/command/build_ext.py", line 448, in build_extensions
self._build_extensions_serial()
File "/usr/lib/python3.6/distutils/command/build_ext.py", line 473, in _build_extensions_serial
self.build_extension(ext)
File "/tmp/pip-install-nhjsfmmw/pythonnet/setup.py", line 249, in build_extension
self._install_packages()
File "/tmp/pip-install-nhjsfmmw/pythonnet/setup.py", line 438, in _install_packages
subprocess.check_call(cmd, shell=use_shell)
File "/usr/lib/python3.6/subprocess.py", line 311, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command 'mono tools/nuget/nuget.exe update -self' returned non-zero exit status 127.
----------------------------------------
ERROR: Failed building wheel for pythonnet
Running setup.py clean for pythonnet
Failed to build pythonnet
Installing collected packages: pythonnet
Running setup.py install for pythonnet ... error
ERROR: Command errored out with exit status 1:
command: /usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-nhjsfmmw/pythonnet/setup.py'"'"'; __file__='"'"'/tmp/pip-install-nhjsfmmw/pythonnet/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-ab3ul23l/install-record.txt --single-version-externally-managed --user --prefix= --compile --install-headers '/mnt/c/Users/natal/Box Sync/.local/include/python3.6m/pythonnet'
cwd: /tmp/pip-install-nhjsfmmw/pythonnet/
Complete output (6 lines):
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: setup.py --help [cmd1 cmd2 ...]
or: setup.py --help-commands
or: setup.py cmd --help
error: option --single-version-externally-managed not recognized
----------------------------------------
ERROR: Command errored out with exit status 1: /usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-nhjsfmmw/pythonnet/setup.py'"'"'; __file__='"'"'/tmp/pip-install-nhjsfmmw/pythonnet/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-ab3ul23l/install-record.txt --single-version-externally-managed --user --prefix= --compile --install-headers '/mnt/c/Users/natal/Box Sync/.local/include/python3.6m/pythonnet' Check the logs for full command output.
我曾尝试像建议的here那样更新setuptools
和wheel
,但是却遇到了同样的错误。我想念什么?
答案 0 :(得分:0)
可能的重复:
我回答了@Pip Pythonnet option --single-version-externally-managed not recognized 的问题。我的答案是使用较旧的、支持 Python.NET 的 Python 版本。
当前 Python.NET 支持的版本应该列在@http://pythonnet.github.io/。