首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >pythonnet的失败建筑车轮

pythonnet的失败建筑车轮
EN

Stack Overflow用户
提问于 2020-07-20 14:43:13
回答 1查看 6.3K关注 0票数 6

我正在尝试连接一个控制器,以便与python进行实验。目前,这是我试图运行的代码

代码语言:javascript
运行
复制
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')

我得到了两个不同的结果:

来自Ubuntu的

  1. (WSL)我得到了

代码语言:javascript
运行
复制
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'

  1. 从python3空闲,我得到

代码语言:javascript
运行
复制
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,这是输出

代码语言:javascript
运行
复制
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.

我尝试过更新setuptoolswheel,就像建议的here一样,但是我得到了相同的错误。我遗漏了什么?

EN

回答 1

Stack Overflow用户

发布于 2021-06-05 00:43:42

可能的重复:

我回答了@ https://stackoverflow.com/a/67844539/14409072这个问题。对我来说,答案是使用一个更老的支持Python的Python.NET版本。

当前Python.NET支持的版本应该列出@ http://pythonnet.github.io/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62997917

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档