$ /bin/python3 -m pip install csvkit --quiet
✔
$ csvstat --version
Traceback (most recent call last):
File "/bin/csvstat", line 5, in <module>
from csvkit.utilities.csvstat import launch_new_instance
File "/usr/lib/python3.6/site-packages/csvkit/utilities/csvstat.py", line 12, in <module>
from csvkit.cli import CSVKitUtility, parse_column_identifiers
File "/usr/lib/python3.6/site-packages/csvkit/cli.py", line 16, in <module>
import lzma
File "/usr/lib/python3.6/lzma.py", line 27, in <module>
from _lzma import *
ModuleNotFoundError: No module named '_lzma'
✘
$ /bin/python2 -m pip list | grep -i csv
DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support pip 21.0 will remove support for this functionality.
WARNING: You are using pip version 20.3.4; however, version 21.3.1 is available.
You should consider upgrading via the '/bin/python2 -m pip install --upgrade pip' command.
✘
$ /bin/python2 -m pip install csvkit --quiet
DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support pip 21.0 will remove support for this functionality.
WARNING: The scripts csvclean, csvcut, csvformat, csvgrep, csvjoin, csvjson, csvlook, csvpy, csvsort, csvsql, csvstack, csvstat, in2csv and sql2csv are installed in '/usr/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
WARNING: You are using pip version 20.3.4; however, version 21.3.1 is available.
You should consider upgrading via the '/bin/python2 -m pip install --upgrade pip' command.
✔
$ csvstat --version
csvstat 1.0.7
✔
python-build 3.10.6 /Users/u/.asdf/installs/python/3.10.6
python-build: use openssl@1.1 from homebrew
python-build: use readline from homebrew
Downloading Python-3.10.6.tar.xz...
-> https://www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
Installing Python-3.10.6...
python-build: use readline from homebrew
python-build: use zlib from xcode sdk
Installed Python-3.10.6 to /Users/u/.asdf/installs/python/3.10.6
9条答案
按热度按时间7uhlpewt1#
以前的答案都不适合我。this gist中的说明对我很有效。
简而言之:您可能会丢失
xz
库,在这种情况下,您可以使用Homebrew安装它们,然后从pyenv
重新安装/重建Python版本:pyenv
安装的Python上遇到了这个问题,而不是Mac系统的Python或conda
Python。最好使用brewed python(brew install python
),除非你对pyenv
有特定的需求(比如需要更多地控制python版本/更新)。hl0ma9xz2#
基于pyenv wiki,您应该安装带有
--enable-framework
标志的 python 版本。对我来说确实有效。原因是您尝试使用的模块是用 C 实现的,并且带有共享库的 CPython 将使用上述标志构建。
zhte4eai3#
这为我解决了:
并将此文件添加到您当前的环境中:例如(参见:https://github.com/pandas-dev/pandas/issues/27532#issuecomment-822272237):
例如,在我的运行时环境中:
vfwfrxfs4#
Google总是把我带到这个线程,但一个很好的答案是在here中
简单地说,你需要做:
如果你是一个M1用户,这将为您工作下rosetta。
框架构建不适合我。
jmo0nnb35#
最后发现。这个问题 * 仅 * 在将Homebrew目录从默认目录移动时出现。当Homebrew正常安装时,不需要这样做。
我将此添加到我的
.zshrc
(或者,您的.bashrc
或.bash_profile
)Homebrew警告你应该对其他安装的软件包这样做,但不是xz。大概是因为它是不需要的 * 如果 * 家酿生活在它期望的地方。
3z6pesqy6#
39430期?
我不知道答案但这个症状听起来像这个Python bug:
2020年报道。不幸的是,截至2022年仍未修复。
csvkit包的解决方法:试试python 2
我在运行MobaXterm的Windows 10上尝试使用package
csvkit
时遇到了这个问题:软件包安装得很好,但是/bin/csv* 工具无法运行:
我的解决方法是使用python 2。不是很满意。
首先,像这样抛出不工作的python3版本:
所以现在没了。让我们再试一次,但是使用python 2:
结果:安装了csvkit,并且/bin/csvstat. exe运行时没有“_lzma”错误。但不幸的是,在Python 2上,而不是Python 3上。--这个解决方案对我来说已经足够好了,因为我只是想要/bin/csv* 实用程序,但对于那些真正需要在python3上运行的人来说可能没用。
xe55xuns7#
这里的很多答案都需要
brew
来进行Mac开发。如果您没有brew
,例如当您的开发环境由nix
管理时,您可以执行以下操作:xz
源代码。./configure --prefix=~/xz-install
(您可以将前缀更改为您想要的任何位置)。您可能必须事先确保目录与mkdir -p
一起存在。make
(注意:你将需要xcode命令行工具来编译它)。make install
。这将安装到您使用--prefix
设置的任何目录。--prefix
目录设置为~/xz-install/
,请使用CFLAGS="-I~/xz-install/include" LDFLAGS="-L~/xz-install/lib" pyenv install 3.10.4
或您想要的任何版本安装Python。b1uwtaje8#
如果你通过
asdf
安装了Python,你可以像这样重新安装Python:install
命令的输出示例:1l5u6lss9#
错误信息
解决方案
卸载所有版本的Python 3。然后只重新安装
python3.5
。原环境(出现错误的环境)
当前环境(没有错误,一切正常)