虽然在Windows上运行Linux版本的python,pip等"本机"是惊人的,但我想使用适当的IDE这样做.由于尚未实现SSHD兼容性,我正在尝试让PyCharm将Linux python识别为本地解释器.
安装Windows Linux子系统后,键入
bash -c python
Run Code Online (Sandbox Code Playgroud)
从Windows命令行将您放入python shell.
bash -c "echo \"print 'hello world'\" | python"
Run Code Online (Sandbox Code Playgroud)
也可以,在windows shell中输出"hello world"作为输出!
我正在尝试将其作为.bat文件包装并将其作为本地解释器呈现给PyCharm,即
python.bat:
C:\Windows\System32\bash.exe -c "echo %1 | python"
Run Code Online (Sandbox Code Playgroud)
但我一直在尝试"sdk似乎无效".由于我不确定PyCharm正在做什么来"验证"SDK,因此很难克服.
我试过按照这些说明操作:https://stackoverflow.com/a/40312117/21728基本上这样做:
sudo apt-get install libsecret-1-0 libsecret-1-dev
cd /usr/share/doc/git/contrib/credential/libsecret
sudo make
git config --global credential.helper /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret
Run Code Online (Sandbox Code Playgroud)
但是当我进行任何网络操作时,我收到此错误:
** (process:7902): CRITICAL **: could not connect to Secret Service: Cannot autolaunch D-Bus without X11 $DISPLAY
Run Code Online (Sandbox Code Playgroud)
这是合乎逻辑的,因为确实没有X11显示器.
如何在Windows(WSL)上的Ubuntu上使Git凭据缓存工作?
尝试在适用于 Windows 10 的 Ubuntu 20.04 WSL上使用pyenv安装新Python版本失败,并显示以下输出:
username@hd1pcms0347:~$ pyenv install 3.9.4
Downloading Python-3.9.4.tar.xz...
-> https://www.python.org/ftp/python/3.9.4/Python-3.9.4.tar.xz
Installing Python-3.9.4...
python-build: use readline from homebrew
BUILD FAILED (Ubuntu 20.04 using python-build 20180424)
Inspect or clean up the working tree at /tmp/python-build.20210602162502.2268
Results logged to /tmp/python-build.20210602162502.2268.log
Last 10 log lines:
File "/tmp/python-build.20210602162502.2268/Python-3.9.4/Lib/ensurepip/__init__.py", line 210, in _main
return _bootstrap(
File "/tmp/python-build.20210602162502.2268/Python-3.9.4/Lib/ensurepip/__init__.py", line 129, in _bootstrap
return _run_pip(args + [p[0] for p in _PROJECTS], additional_paths)
File "/tmp/python-build.20210602162502.2268/Python-3.9.4/Lib/ensurepip/__init__.py", line 38, in _run_pip …Run Code Online (Sandbox Code Playgroud) 因此,似乎在ubuntu for windows(Linux子系统的Linux)上,人们建议我们需要使用Agg后端并只保存图像,而不是显示图.
import matplotlib
matplotlib.use('Agg') # no UI backend
import matplotlib.pyplot as plt
import numpy as np
t = np.arange(0.0, 2.0, 0.01)
s = 1 + np.sin(2*np.pi*t)
plt.plot(t, s)
plt.title('About as simple as it gets, folks')
#plt.show()
plt.savefig("matplotlib.png") #savefig, don't show
Run Code Online (Sandbox Code Playgroud)
我们怎么能把它带到plt.show()实际向我们展示图像的地方?我当前的选择是覆盖plot.show(),而只是在Windows中的/ mnt/c/Users/james/plots /下保存一个plot-148123456.png,只需打开一个浏览器窗口查看图像.
我想我可以托管该文件夹并使用浏览器.
我的目标是能够运行像上面代码这样的简单示例,而无需将代码更改为ftp图像等等.我只是希望绘图显示在窗口中.
有没有人想出一个体面的方法呢?
我的 Windows 10 笔记本电脑上运行着 WSL 版本 2。我使用的是 WSL 发行版 Ubuntu-20.04。当我连接到 VPN 网络时,域名解析不起作用,因此我无法访问 Internet。
使用的 VPN 客户端是“Cisco AnyConnect 安全移动客户端”
我尝试了以下步骤来解决此问题。
netsh winsock reset
netsh int ip reset all
netsh winhttp reset proxy
ipconfig /flushdns
reboot
Run Code Online (Sandbox Code Playgroud)
这一次有效,我可以访问互联网。但当我断开VPN连接并再次连接时,我又遇到了同样的问题。我尝试再次执行命令并重新启动,但现在不再起作用了。
什么是永久解决此问题的方法?
首先,我用谷歌搜索了很多,但没有找到与我的情况相关的东西,我有一个 ELF 可执行文件,我试图在我的 Ubuntu WSL 中运行它,我已经更改了权限 ( chmod +x file),当我运行它时,这个出现错误
/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by myFile)
Run Code Online (Sandbox Code Playgroud)
当我使用 ld 命令时,这会向我显示
myFile(.eh_frame); no .eh_frame_hdr table will be created
Run Code Online (Sandbox Code Playgroud)
当我尝试升级 GLIBC 时,它说它是最新的
Reading package lists... Done
Building dependency tree
Reading state information... Done
libc6 is already the newest version (2.31-0ubuntu9.7).
libc6 set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 215 not upgraded.
Run Code Online (Sandbox Code Playgroud)
然后我尝试从https://packages.ubuntu.com/impish/amd64/libc6/download手动安装 deb 文件,但这对我来说是这样的:
dpkg: regarding libc6_2.34-0ubuntu3.2_amd64.deb containing libc6:amd64:
libc6:amd64 breaks fakeroot …Run Code Online (Sandbox Code Playgroud) bash脚本可以检测它是否在"Windows上的Ubuntu"和本机Ubuntu中运行?如果是这样,怎么样?
我env在两台机器上运行,没有看到任何明显的环境变量差异.我可以测试/mnt/c目录的存在,但这不是万无一失的,因为该目录可能也存在于本机Ubuntu上.
我正在尝试按照WSL中有关数字海洋的本文中的讨论进行Redis安装过程。安装的Ubuntu版本是Ubuntu 18.04。
Redis安装中的一切都很好,但是当我尝试运行此命令时sudo systemctl start redis,收到了此消息。
System has not been booted with systemd as init system (PID 1). Can't operate.
Run Code Online (Sandbox Code Playgroud)
关于该怎么办的任何想法?
这是我的设置:
Windows 10 PRO - build 19041.153 - 内部程序 - 慢环Ubuntu 18.04LTS WSL2 模式下的子系统Docker for desktop 2.2.0.4 - 启用与我的 Ubuntu 子系统的 WSL2 集成我目前被迫使用Windows进行开发,所以我成为了microsoft Insider成员并以WSL2模式安装了ubuntu。Docker 桌面支持 WSL2 的集成,所以我尝试了......一周以来它完美无缺。今天电脑重启后,我无法再次运行docker。Ubuntu 可以看到从 Docker 桌面注入的二进制文件,但它无法再连接到 Windows 托管的 docker 守护进程。
当我调用 subsys 终端时,docker info它返回
$ docker info
Client:
Debug Mode: false
Server:
ERROR: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
errors pretty printing info
Run Code Online (Sandbox Code Playgroud)
或与 docker-compose up
ERROR: Couldn't connect to Docker daemon at http+docker://localhost …Run Code Online (Sandbox Code Playgroud) docker windows-subsystem-for-linux docker-desktop docker-daemon wsl-2
我在Snow Leopard中安装了Mono 2.6.7并想运行LINQPad.我已经启动LINQPad(v2.21)但是立即得到一个FileNotFoundException.有没有人能够成功运行它?
我认为异常是因为它试图读取/写入配置文件或其他东西,但希望有一些解决方法.
谢谢.
编辑:使用"Olive"构建Mono(WPF所需):
在终端:
svn co svn://anonsvn.mono-project.com/source/trunk/olive
cd /Users/(your user name)/olive
./configure --prefix=/Users/(your user name)/olive --with-glib=embedded
make
make install
Run Code Online (Sandbox Code Playgroud)
现在在Finder中导航到:
/ Users /(您的用户名)/ olive/lib/mono/gac
将这些文件夹(例如:PresentationCore,PresentationFramework)复制到:
/Library/Frameworks/Mono.framework/Versions/2.6.7/lib/mono/gac(当前的Mono版本是2.6.7,但这显然可能有所不同)
编辑:不幸的是,现在我在运行LINQPad时得到了这个:
警告**:无法加载类System.Windows.Resources.AssemblyAssociatedContentFileAttribute,在LINQPad中使用不能加载,在LINQPad中使用
编辑: Xamarin工作簿最近发布了1.0(https://developer.xamarin.com/workbooks/),是我在macOS上看到的LINQPad最接近的.
编辑(2017年9月): 这仍然是投机性的!
使用Docker和Windows子系统Linux(WSL)可以运行大多数Windows应用程序(包括GUI应用程序):

有关详细演练,请参阅https://blog.jessfraz.com/post/windows-for-linux-nerds/上的博客文章.
windows-subsystem-for-linux ×10
ubuntu ×4
linux ×3
python ×3
docker ×2
wsl-2 ×2
bash ×1
elf ×1
git ×1
glibc ×1
homebrew ×1
linqpad ×1
matplotlib ×1
mono ×1
pycharm ×1
pyenv ×1
redis ×1
ubuntu-18.04 ×1
vpn ×1
windows-10 ×1